मान लीजिए हमारे पास दो ऑब्जेक्ट्स हैं, मान लीजिए A और B:
const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };
हमें एक JavaScript फ़ंक्शन लिखना है जो इन दो ऑब्जेक्ट्स को मर्ज करता है, इस बात को ध्यान में रखते हुए कि यदि किसी कुंजी का सच्चा मान है तो उसे असत्य मान वाली कुंजी द्वारा ओवरराइट नहीं किया जाना चाहिए।
यदि हम इसे केवल स्प्रेड ऑपरेटर का उपयोग करके करते हैं, तो यह सच्चे/असत्य मानों का ध्यान नहीं रखेगा।
इसलिए, हमें इसे पुनरावृत्त दृष्टिकोण का उपयोग करके करना होगा।
उदाहरण
निम्नलिखित कोड देखें:
const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };
const mergeObject = (A, B) => {
let res = {};
Object.keys({...A, ...B}).map(key => {
res[key] = B[key] || A[key];
});
return res;
};
console.log(mergeObject(A, B));
आउटपुट
यह कंसोल पर निम्नलिखित आउटपुट देगा:
{ activity: 'purchased', count: '51', time: '09:05:33' }