[英]javascript :how to make an addition of value of specific key of different object
取一個對象,包含多個對象。 這些對象可以有一個名為number
的特定鍵,其值為一個數字。 如何添加具有此鍵number
的對象的所有“數字”值...
var myObject = {
item1 = {
name: "someName",
color: "someColor2",
number: intValue
},
item2 = {
name: "someName2",
color: "someColor2"
},
item3 = {
name: "someName3",
color: "someColor3",
number: intValue
},
item4 = {
name: "someName4",
color: "someColor4"
},
};
var sum = 0;
for (var prop in myObject)
{
sum += myObject[prop].number || 0;
}
那可能是某事的開始......
這是Array.reduce
的完美用例! 但是,由於您的輸入是一個對象而不是數組,我們需要使用Object.keys
來獲取項目名稱列表,然后該列表將驅動 reducer 循環。
// your object def wasn't valid, so I made my own
var myObject = {
item1: { name: 'item one', color: 'red', number: 1 },
item2: { name: 'item two', color: 'orange', number: 2 },
item3: { name: 'item three', color: 'yellow', number: 3 },
item4: { name: 'item four', color: 'green', number: 4 },
item5: { name: 'item five', color: 'blue', number: 5 },
item6: { name: 'item six', color: 'indigo', number: 6 },
item7: { name: 'item seven', color: 'violet', number: 7 }
};
var total = Object.keys(myObject) //=> ['item1', 'item2', 'item3', 'item4', ...]
.reduce(function(sum, itemName) {
return sum += myObject[itemName].number;
}, 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.