मान लीजिए हमारे पास ऑब्जेक्ट्स का एक ऐरे है जैसे:
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 }