मान लीजिए, हमारे पास इस तरह की कोई वस्तु है -
const obj ={"part1":[{"id":1, "a":50},{"id":2, "a":55},{"id":4, "a" :100}], "पार्ट2":[{"आईडी":1, "बी":40}, {"आईडी":3, "बी":45}, {"आईडी":4, "बी":110 }]};
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी ही एक वस्तु लेता है। इस तरह की वस्तुओं की एक सरणी बनाने के लिए फ़ंक्शन को ऑब्जेक्ट के भाग 1 और भाग 2 को मर्ज करना चाहिए -
const आउटपुट =[{"id":1, "a":50, "b":40}, {"id":2, "a":55}, {"id":3, "b ":45}, {"id":4, "a":100, "b":110}];
उदाहरण
इसके लिए कोड होगा -
const obj ={"part1":[{"id":1, "a":50},{"id":2, "a":55},{"id":4, "a" :100}], "पार्ट2":[{"आईडी":1, "बी":40}, {"आईडी":3, "बी":45}, {"आईडी":4, "बी":110 }]}; const mergeObject =(obj ={}) => { परिणाम दें =[]; परिणाम =ऑब्जेक्ट.की (ओबीजे)। कम करें (फ़ंक्शन (हैश) {रिटर्न फ़ंक्शन (आर, के) {ओबीजे [के]। प्रत्येक के लिए (फ़ंक्शन (ओ) { अगर (! हैश [ओ.आईडी]) {हैश [ओ .id] ={}; r.push(hash[o.id]); } Object.keys(o).forEach(function (l) {हैश[o.id][l] =o[l]; } ); }); वापसी आर; }; }(ऑब्जेक्ट.क्रिएट (नल)), [])। सॉर्ट ((ए, बी) => {रिटर्न ए ['आईडी'] - बी ['आईडी']; } ); वापसी परिणाम;};कंसोल.लॉग(मर्जऑब्जेक्ट(obj));
आउटपुट
और कंसोल में आउटपुट होगा -
[ {आईडी:1, ए:50, बी:40}, {आईडी:2, ए:55}, {आईडी:3, बी:45}, {आईडी:4, ए:100, बी:110 }]पूर्व>