[英]JavaScript: Looping through an array of objects and filtering specific properties/attributes
我试图遍历一个数组并只返回地址和包的数量,然后将数组中的包总数相加。 问题是,当我在 codepen.io 中编写所有这些内容时,它告诉我每个名称属性都有一个意外的标识符错误。 我知道我必须处理循环本身,但这有什么问题? 这是我在 Codepen.io 中看到的内容,如果您想查看 codepen 显示的内容,这里是链接: https ://codepen.io/epbutterfield/pen/NBxMQb?editors = 0012
我知道这非常简单,但我必须有一个额外的标识符或缺少一个......
var deliveryItinerary = [
{
name: Doctor Allen Grant,
address: '123 Jurassic Park Trail, Kualoa Ranch, Hawaii',
zipcode: 96744,
packages: 5
},
{
name: Harry Potter,
address: '4 Privet Drive, Manchester, England',
zipcode: 81726,
packages: 8
},
{
name: Bowen Knight,
address: '1600 Camelot Court, Liverpool, England',
zipcode: 15064,
packages: 2
},
{
name: Van Helsing,
address: '1462 Dracula\'s Castle, Valerious, Transylvania',
zipcode: 18870,
packages: 1
}
];
for (i = 0; i < deliveries.length; i++){
console.log(deliveryItinerary[i].address)
console.log(deliveryItinerary[i].packages){
deliveryItinerary.reduce[i].packages
}
};
在您的name
值周围添加引号,因为它们是字符串文字而不是 JS 变量。 还可以使用一个额外的变量,称为totalPackages
,以总结循环中的所有包。
const deliveryItinerary = [ { name: 'Doctor Allen Grant', address: '123 Jurassic Park Trail, Kualoa Ranch, Hawaii', zipcode: 96744, packages: 5 }, { name: 'Harry Potter', address: '4 Privet Drive, Manchester, England', zipcode: 81726, packages: 8 }, { name: 'Bowen Knight', address: '1600 Camelot Court, Liverpool, England', zipcode: 15064, packages: 2 }, { name: 'Van Helsing', address: '1462 Dracula\\'s Castle, Valerious, Transylvania', zipcode: 18870, packages: 1 } ]; let totalPackages = 0; for (i = 0; i < deliveryItinerary.length; i++){ console.log(deliveryItinerary[i].address); console.log(deliveryItinerary[i].packages); totalPackages += deliveryItinerary[i].packages; }; console.log(totalPackages);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.