首页 > 解决方案 > JavaScript 中的 forEach 无法收集对象值

问题描述

以下代码段的输出应返回数组中 5 个城市的名称,但结果是一个空白数组。为什么?

arr = [
  {name: "London", population: 30},
  {name: "Moscow", population: 20},
  {name: "Delhi", population: 50},
  {name: "New York", population: 35},
  {name: "Paris", population: 42}
]

var temp = [];
arr.forEach((item, index) => {
  temp.push[item.name];
});
console.log(temp);

标签: javascriptarraysforeach

解决方案


使用 push(),而不是 push[]。

arr = [
  {name: "London", population: 30},
  {name: "Moscow", population: 20},
  {name: "Delhi", population: 50},
  {name: "New York", population: 35},
  {name: "Paris", population: 42}
]

var temp = [];
arr.forEach((item, index) => {
  temp.push(item.name);
});
console.log(temp);


推荐阅读