আমাদের কাছে অবজেক্টের নিম্নলিখিত অ্যারে রয়েছে, আমাদের সেগুলিকে একটিতে একত্রিত করতে হবে যাতে এমন অবজেক্টগুলিকে সরিয়ে দেওয়া হয় যেগুলির সম্পত্তি নামের জন্য অপ্রয়োজনীয় মান রয়েছে −
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)); এই ফাংশনটি শুধুমাত্র দ্বিতীয় অ্যারে থেকে সদৃশ এন্ট্রি অপসারণ নিশ্চিত করে না, তাছাড়া যদি প্রথম অ্যারেতে কোনো ডুপ্লিকেট এন্ট্রি ছিল, তাহলে সেটিকেও সরিয়ে দেওয়া হবে।
এখানে সম্পূর্ণ কোড -
উদাহরণ
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 }
]