首页 > 解决方案 > 为什么 forEach() 在这个对象循环中不起作用?

问题描述

为什么 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"

标签: javascriptobjectforeach

解决方案


箭头函数可以具有“简洁主体”或通常的“块主体”。

在简洁的正文中,仅指定了一个表达式,该表达式成为隐式返回值。在块体中,您必须使用显式返回语句

参考:-箭头函数体

因为这个语法不正确。

items.forEach(item=>if(item.id===idNum){console.log(item)})

你需要在{}这里使用

items.forEach(item=>{
if(item.id===idNum){console.log(item)}
})

推荐阅读