हमारे पास ऑब्जेक्ट्स के निम्नलिखित ऐरे हैं, हमें उन्हें एक में मर्ज करना है और उन ऑब्जेक्ट्स को हटाना है जिनके नाम प्रॉपर्टी के लिए अनावश्यक मान हैं।
const first = [{ name: 'Rahul', age: 23 }, { name: 'Ramesh', age: 27 }, { name: 'Vikram', age: 35 }, { name: 'Harsh', age: 34 }, { name: 'Vijay', age: 21 }]; const second = [{ name: 'Vijay', age: 21 }, { name: 'Vikky', age: 20 }, { name: 'Joy', age: 26 }, { name: 'Vijay', age: 21 }, { name: 'Harsh', age: 34 }, ]
हम एक फ़ंक्शन combineArray परिभाषित करते हैं, जो मर्ज किए जाने वाले दो ऐरे को आर्गुमेंट के रूप में लेता है और एक नया ऐरे लौटाता है।
const combineArray = (first, second) => { const combinedArray = []; const map = {}; first.forEach(firstEl => { if(!map[firstEl.name]){ map[firstEl.name] = firstEl; combinedArray.push(firstEl); } }); second.forEach(secondEl => { if(!map[secondEl.name]){ map[secondEl.name] = secondEl; combinedArray.push(secondEl); } }) return combinedArray; } console.log(combineArray(first, second));
यह फ़ंक्शन न केवल दूसरी ऐरे से डुप्लिकेट एंट्रीज़ को हटाना सुनिश्चित करता है, बल्कि यदि पहली ऐरे में कोई डुप्लिकेट एंट्री होती, तो वह भी हटा दी जाती।
यहां पूरा कोड है -
उदाहरण
const first = [{ name: 'Rahul', age: 23 }, { name: 'Ramesh', age: 27 }, { name: 'Vikram', age: 35 }, { name: 'Harsh', age: 34 }, { name: 'Vijay', age: 21 }]; const second = [{ name: 'Vijay', age: 21 }, { name: 'Vikky', age: 20 }, { name: 'Joy', age: 26 }, { name: 'Vijay', age: 21 }, { name: 'Harsh', age: 34 }, ] const combineArray = (first, second) => { const combinedArray = []; const map = {}; first.forEach(firstEl => { if(!map[firstEl.name]){ map[firstEl.name] = firstEl; combinedArray.push(firstEl); } }); second.forEach(secondEl => { if(!map[secondEl.name]){ map[secondEl.name] = secondEl; combinedArray.push(secondEl); } }) return combinedArray; } console.log(combineArray(first, second));
आउटपुट
कंसोल आउटपुट होगा -
[ { name: 'Rahul', age: 23 },{ name: 'Ramesh', age: 27 },{ name: 'Vikram', age: 35 }, { name: 'Harsh', age: 34 },{ name: 'Vijay', age: 21 },{ name: 'Vikky', age: 20 }, { name: 'Joy', age: 26 } ]