Javascript-数组未定义

问题描述

var Items =[
    {name : 'Tv',price : 300},{name : 'Phone',price : 200},{name : 'album',price : 10},{name : 'Candy',price : 2},{name : 'T-shirt',price : 100}
];
//forEach Method
Items.forEach(function Item() {
    // body...
    console.log(Items.name);
});

但是当我在控制台中运行时,它会显示我: 5个未定义。

解决方法

var Items =[
{name : 'Tv',price : 300},{name : 'Phone',price : 200},{name : 'album',price : 10},{name : 'Candy',price : 2},{name : 'T-shirt',price : 100}
];
 //forEach Method
  Items.forEach(Item=> {
      // body...
       console.log(Item.name);
   });

尝试一下。 或者您可以使用.map这样的方法

Items.map(item=>{
   console.log(item.name);
  })
,

因为Items是一个数组,并且数组没有名为name的属性。您正在尝试访问数组中的每个 element 。根据{{​​3}},该元素被传递给回调函数。 (顺便说一句,该函数不需要名称,只需将其保持匿名即可。)

例如:

Items.forEach(function (item) {
    console.log(item.name);
});