为什么forEach在以下情况下不起作用?我尝试了几次,它总是返回“意外令牌”。
// for loop
for(item in items){
if (items[item].id===idNum){
console.log(items[item]);
}
}
// the for loop works.
// forEach()
items.forEach(item=>if(item.id===idNum){console.log(item)})
// this returned error message "unexpected token"
答案 0 :(得分:3)
箭头功能可以具有“简洁主体”或通常的“块” 身体”。
在简洁的正文中,仅指定一个表达式,该表达式成为 隐式返回值。在块体中,必须使用显式 返回声明
因为此语法不正确。
items.forEach(item=>if(item.id===idNum){console.log(item)})
您需要在此处使用{}
items.forEach(item=>{
if(item.id===idNum){console.log(item)}
})
答案 1 :(得分:0)
功能主体必须使用括号:
let items = [ {id:1}, {id:2} ];
let idNum = 2;
items.forEach(item => {
if (item.id === idNum) { console.log(item) }
})