当const result = allItems.map(x => newItems.find(({ id }) => id === x.id) || x);
找到第一个indexOf
时,我试图让map
停止
if
答案 0 :(得分:0)
我知道了!
if (!this.props.parkingLot[slot].isOccupied && newSlotNo == 0)
一旦newSlotNo
设置为slot
,它将不再为0,因此if
将不会执行破坏map
函数的操作。
谢谢大家的帮助!
答案 1 :(得分:0)
假设parkingLot
是一个对象数组,而您只对其中有一个属性为isOccupied === true
的对象的数组索引感兴趣:
const parkingLot = [
{isOccupied: false}, // index 0
{isOccupied: false}, // index 1
{isOccupied: true} // index 2
];
您可以找到所占用的数组的 first index
/ slot
:
parkingLot.findIndex(parkingSpot => parkingSpot.isOccupied); // returns 2
您还可以destructure isOccupied
属性
parkingLot.findIndex(({isOccupied}) => isOccupied); // returns 2
注意: Array.prototype.findIndex()
isn't compatible with Internet Explorer。如果必须支持IE,则可以在代码库中添加the findIndex()
polyfill或在Lodash或Ramda等数据操作实用程序库中使用等效功能。