ES6迭代包含const

时间:2018-11-19 04:29:15

标签: javascript

有人可以解释为什么我在此代码中出错吗?btw我还是es6中的新手,谢谢

selData.map((item,idx)=>({ 

        const TargetItem = aclEntries.findIndex(rec=>rec.stakeholder_id===item.value)          

        console.log(TargetItem)  



        }))    

1 个答案:

答案 0 :(得分:0)

ES6函数可以用几种不同的方式编写。

// If you have more than 1 param, you have to wrap them with `()`
const functionName = (param1, param2) => { return console.log(param1, param2); }

// If you're just returning a value, you can omit the `{}`
const functionName = (param1, param2) => console.log(param1, param2);

// If you only have 1 param, you can omit the `()` around the params
const functionName = param1 => console.log(param);

我在下面的代码.find()中添加了另一个示例,它将为您提供aclEntries的结果,而不仅仅是索引位置。

此外,我正在使用forEach而不是map,因为map创建了一个新数组,并且您没有将map的返回值分配给变量供以后使用。

const aclEntries = [
  { stakeholder_id: '1234', taco: 'cat' }
];
const selData = [
  { value: '1234' }
];

selData.forEach((item) => {
  const TargetItemIndex = aclEntries.findIndex(rec => rec.stakeholder_id === item.value);
  const TargetItemContent = aclEntries.find(rec => rec.stakeholder_id === item.value);
  
  console.log('index', TargetItemIndex);
  console.log('content', TargetItemContent);
})