簡體   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