javascript - 如何使用 forEach 循环访问对象属性?

标签 javascript

我正在循环遍历对象sliced,我想将属性name提取到theRest变量中。使用下面的代码,我收到错误无法读取未定义的属性名称

我的对象 sliced 给了我一个数组:[{name: 'Bart'},{name: 'Lisa'},{name: 'Maggie'}]

const theRest = sliced.map((item, i) => {
  item[i].name;
})

抱歉,变量命名可能令人困惑,但我希望您能有所了解。

最佳答案

您收到错误的原因是当您使用 .forEach() 时, item[i] 将在不是数组的对象中查找索引(sliced 是数组,item 是正在处理的数组中的 currentValue)。如果您想使用您的代码,您应该将 item[i].name 更改为 item.name 并且它应该可以工作。我建议您使用.map()而是获得您正在寻找的结果。

let arr = [{name: 'Bart'},{name: 'Lisa'},{name: 'Maggie'}];
let theRest = arr.map((item) => item.name);
console.log(...theRest);

关于javascript - 如何使用 forEach 循环访问对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47148382/

相关文章:

javascript - 使用几何多边形来围住其他多边形

javascript - Redux 防止不必要的渲染

javascript - 动态属性访问器

javascript - 如何将谷歌地图定位在前一个 div 下方?

javascript - 如何使用 Google Maps API 避免调用服务器获取重复数据

javascript - 通过 jQuery 改变 HTML 元素的顺序?

javascript - jstree 添加新节点而不提供文本输入?

javascript - 更改基于 asc 和 dsc 的图标,并将其他列图标保留为默认的 asc 图标,该图标未使用 angular8 激活

javascript - 如何防止用户从查询参数访问 JSON 数据?

javascript - S3 预签名 URL 的格式