JavaScript中的forEach无法收集对象值
以下代码段的输出应返回数组中5个城市的名称,但结果是一个空白数组。为什么?JavaScript中的forEach无法收集对象值,javascript,arrays,foreach,Javascript,Arrays,Foreach,以下代码段的输出应返回数组中5个城市的名称,但结果是一个空白数组。为什么? arr=[ {姓名:“伦敦”,人口:30}, {姓名:“莫斯科”,人口:20}, {姓名:“德里”,人口:50}, {姓名:“纽约”,人口:35}, {姓名:“巴黎”,人口:42} ] var-temp=[]; arr.forEach((项目、索引)=>{ 临时推送[项目名称]; }); 控制台日志(temp)使用push(),而不是push[] arr=[ {姓名:“伦敦”,人口:30}, {姓名:“莫斯科”,人口
arr=[
{姓名:“伦敦”,人口:30},
{姓名:“莫斯科”,人口:20},
{姓名:“德里”,人口:50},
{姓名:“纽约”,人口:35},
{姓名:“巴黎”,人口:42}
]
var-temp=[];
arr.forEach((项目、索引)=>{
临时推送[项目名称];
});
控制台日志(temp)代码>使用push(),而不是push[]
arr=[
{姓名:“伦敦”,人口:30},
{姓名:“莫斯科”,人口:20},
{姓名:“德里”,人口:50},
{姓名:“纽约”,人口:35},
{姓名:“巴黎”,人口:42}
]
var-temp=[];
arr.forEach((项目、索引)=>{
临时推送(项目名称);
});
控制台日志(temp)
push
是一种数组方法,但您使用它时,就好像它是一个具有属性项的对象。name
。使用()
来调用/调用方法,而不是[]
:
var-arr=[
{姓名:“伦敦”,人口:30},
{姓名:“莫斯科”,人口:20},
{姓名:“德里”,人口:50},
{姓名:“纽约”,人口:35},
{姓名:“巴黎”,人口:42}
]
var-temp=[];
arr.forEach((项目、索引)=>{
临时推送(项目名称);
});
控制台日志(temp)代码>