मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जैसे:
const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];
प्रत्येक ऑब्जेक्ट अपने आप में अद्वितीय कुंजियाँ रखने के लिए बाध्य है (वैध ऑब्जेक्ट होने के लिए), लेकिन दो अलग-अलग ऑब्जेक्ट्स में सामान्य कुंजियाँ हो सकती हैं (इस प्रश्न के उद्देश्य के लिए)।
हमें एक JavaScript फ़ंक्शन लिखना होगा जो ऐसी एक सरणी लेता है और सरणी में मौजूद सभी अद्वितीय कुंजियों और उनके मानों के संचयी योग के साथ एक ऑब्जेक्ट लौटाता है।
तो, परिणामी ऑब्जेक्ट इस तरह दिखना चाहिए:
const output = {a: 6, b: 9, c: 6, d: 3};
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं:
उदाहरण
इसका कोड निम्नलिखित होगा:
const arr = [{a: 2, b: 5, c: 6}, {a: 3, b: 4, d:1}, {a: 1, d: 2}];
const sumArray = arr => {
const res = {};
for(let i = 0; i < arr.length; i++){
Object.keys(arr[i]).forEach(key => {
res[key] = (res[key] || 0) + arr[i][key];
});
};
return res;
};
console.log(sumArray(arr));
आउटपुट
कंसोल में आउटपुट होगा:
{ a: 6, b: 9, c: 6, d: 3 }