मान लीजिए, हमारे पास इस तरह की दो वस्तुएं हैं -
const obj1 = { a:12, b:8, c:17 }; const obj2 = { a:2, b:4, c:1 };
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो ऐसी वस्तुओं को लेता है।
फ़ंक्शन को समान गुणों के मानों को एक ही गुण में जोड़ना चाहिए। इसलिए, अंतिम वस्तु कुछ इस तरह दिखनी चाहिए -
const output = { a:14, b:12, c:18 };
नोट - सरलता के लिए, हमने केवल दो वस्तुओं का उपयोग किया है, लेकिन हमें अपने फ़ंक्शन को इस तरह लिखना होगा कि यह कितनी भी संख्या में ऑब्जेक्ट ले सकता है और उनके गुण मान जोड़ सकता है।
उदाहरण
const obj1 = { a:12, b:8, c:17 }; const obj2 = { a:2, b:4, c:1 }; const sumObjectsByKey = (...objs) => { const res = objs.reduce((a, b) => { for (let k in b) { if (b.hasOwnProperty(k)) a[k] = (a[k] || 0) + b[k]; } return a; }, {}); return res; } console.log(sumObjectsByKey(obj1, obj2));
आउटपुट
और कंसोल में आउटपुट होगा -
{ a: 14, b: 12, c: 18 }