javascript - 为什么 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"
解决方案
箭头函数可以具有“简洁主体”或通常的“块主体”。
在简洁的正文中,仅指定了一个表达式,该表达式成为隐式返回值。在块体中,您必须使用显式返回语句
参考:-箭头函数体
因为这个语法不正确。
items.forEach(item=>if(item.id===idNum){console.log(item)})
你需要在{}
这里使用
items.forEach(item=>{
if(item.id===idNum){console.log(item)}
})
推荐阅读
- clojure - 是否可以从我可以从 jconsole 管理的 Clojure 创建可写 bean?
- python-3.x - Jinja2 列表索引变量 - list_name[variable]
- r - 是否可以与负年份约会?
- python - Scrapy:无法将项目加载到蜘蛛
- flutter - 如何在颤动中使用“SingleChildScrollView”小部件在“DataTable”中应用水平和垂直滚动?
- c++ - 如何编写随机数生成器函数?
- c# - C# 参数取决于枚举值
- xml - 使用 Shell 脚本获取数组中标签的字符串值
- ruby-on-rails - rails filter 布尔属性
- c# - .Net Reactor 错误:无法更新项目的依赖项。无法确定对象“PHMateLib.DLL”的依赖关系