繁体   English   中英

JavaScript:循环遍历对象数组并过滤特定的属性/属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM