繁体   English   中英

如何遍历对象数组以返回依赖于 object 中相应属性的属性?

[英]How do I loop over an array of objects to return a property dependent on a corresponding property within that object?

我在这里创建了一个 function ,它接受一个数组(项目)和一个字符串作为参数。 我需要遍历 items 对象数组并找到与将传递给 function 的字符串参数匹配的 itemName 属性。 一旦找到,我需要返回找到匹配字符串的相同 object 的价格属性。 希望我有效地解释了目标。

我很确定我需要在这里的大约 90%,但我的循环似乎在第一个索引项之外无法工作。 不知道我错过了什么。

 let items = [
  {
    itemName: "Bad Habits",
    type: "book",
    price: 13.99
  },
  {
    itemName: "Acer 5000",
    type: "computer",
    price: 299.99
  },
  {
    itemName: "Center of Gravity",
    type: "book",
    price: 15.00
  }
]

function priceLookup(items, string){
  for (let i = 0; i < items.length; i++) {
  if (string == items[i].itemName) {
    return items[i].price;
  } else {
    return "No item found with that name";
  }
}
}

当 if 语句为 false(中断迭代)时,会触发 return 语句“No item found”。 尝试在 for 循环外使用 return 语句,这可行。

 function priceLookup(items, string){ for (i = 0; i < items.length; i++) { if (items[i].itemName == string) { return items[i].price; } } return "No item found with that name"; } console.log(priceLookup(items, "Center of Gravity"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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