如何突破Object.map()-ReactJS

时间:2019-02-25 23:33:00

标签: reactjs

const result = allItems.map(x => newItems.find(({ id }) => id === x.id) || x); 找到第一个indexOf时,我试图让map停止

if

2 个答案:

答案 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等数据操作实用程序库中使用等效功能。