हमारे पास ऑब्जेक्ट्स के दो ऐरे हैं, हमें उन्हें एक में मर्ज करना है और उन ऑब्जेक्ट्स को हटाना है जिनमें name प्रॉपर्टी के लिए अतिरिक्त मान हैं।
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 } ]