【问题标题】:How to use forEach method for objects in array in JavaScript?如何在 JavaScript 中对数组中的对象使用 forEach 方法?
【发布时间】:2018-12-18 15:31:23
【问题描述】:

这是一个甜甜圈对象数组。

var donuts = [
  { type: "Jelly", cost: 1.22 },
  { type: "Chocolate", cost: 2.45 },
  { type: "Cider", cost: 1.59 },
  { type: "Boston Cream", cost: 5.99 }
];

方向: 使用 forEach() 方法循环遍历数组并使用 console.log 打印出以下甜甜圈摘要。

Jelly donuts cost $1.22 each
Chocolate donuts cost $2.45 each
Cider donuts cost $1.59 each
Boston Cream donuts cost $5.99 each

我写了这段代码,但它不起作用:

donuts.forEach(function(donut) {

    console.log(donuts.type + " donuts cost $" + donuts.cost + " each");

});

怎么了?

【问题讨论】:

  • 你应该在控制台中使用 donut 而不是 donuts console.log(donut.type + " donut cost $" + donut.cost + " each")
  • 您正在尝试访问整个数组的属性,而不是 forEach 回调中的循环项(donutsdonut)。这就是它不起作用的原因。
  • 简单的错字。题外话。

标签: javascript arrays foreach javascript-objects


【解决方案1】:

代替

donuts.forEach(function(donut) {

    console.log(donuts.type + " donuts cost $" + donuts.cost + " each");

});

改成

donuts.forEach(function(donut) {

    console.log(donut.type + " donut cost $" + donut.cost + " each");

});

您正在循环遍历donuts 数组并将每个对象称为donut,但在您的代码中,您仍在尝试引用donuts

【讨论】:

  • 天哪,我是如此接近 :) 非常感谢您
猜你喜欢
  • 2020-01-05
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
相关资源
最近更新 更多