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