繁体   English   中英

在 Javascript 中循环对象值

[英]Looping through object values in Javascript

我有3个对象。

obj([]);
obj([{name:'Jeans', quantity:5}]);
obj([{name:'Jeans-M-B', quantity:1},{name:'Jeans-S-R', quantity:7}]);

我试图将数量值加在一起,应该等于 13。我似乎无法掌握如何实际获得这些值。 当我尝试下面的代码时,它只给了我对象本身而不是它们的值。

function obj(itemsObj) {

  var obj = Object.values(itemsObj);
  console.log(obj.quantity);
}

您可以将对象的数量减少到它们的总和:

 function quantities(obj) { return obj.reduce(function(acc, curr) { return acc + curr["quantity"] }, 0) } t = [{name:'Jeans-M-B', quantity:1},{name:'Jeans-S-R', quantity:7}]; console.log(quantities(t))

您正在尝试将数组传递给需要对象的内容。 要使用 Object.values,您需要引用每个索引。 在您的情况下,您不需要使用它。 您只需使用 reduce 循环遍历数组,您就可以在其中读取数量属性。

 function getTotal (items) { return items.reduce( function (cnt, item) { return cnt + item.quantity }, 0) } /* const getTotal = items => items.reduce( (cnt, item) => cnt + item.quantity , 0) */ var total = getTotal([{name:'Jeans-M-B', quantity:1},{name:'Jeans-S-R', quantity:7}]); console.log(total)

暂无
暂无

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

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