মান লিয়ে, আমাদের নিচের মত একটি অবজেক্টের অ্যারে আছে -
const arr = [
{ url: 'www.example.com/hello', id: "22" },
{ url: 'www.example.com/hello', id: "22" },
{ url: 'www.example.com/hello-how-are-you', id: "23" },
{ url: 'www.example.com/i-like-cats', id: "24" },
{ url: 'www.example.com/i-like-pie', id: "25" }
];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অবজেক্টের অ্যারে গ্রহণ করবে। ফাংশনটি অ্যারেতে থেকে সেই অবজেক্টগুলো সরিয়ে দেবে যাদের id কী ডুপ্লিকেট। আমাদের কোনো লাইব্রেরি (যেমন underscore) ছাড়া এটি করতে হবে।
উদাহরণ
const arr = [
{ url: 'www.example.com/hello', id: "22" },
{ url: 'www.example.com/hello', id: "22" },
{ url: 'www.example.com/hello-how-are-you', id: "23" },
{ url: 'www.example.com/i-like-cats', id: "24" },
{ url: 'www.example.com/i-like-pie', id: "25" }
];
const removeDuplicate = (arr = []) => {
const map = {};
for(let i = 0; i < arr.length; ){
const { id } = arr[i];
if(map.hasOwnProperty(id)){
arr.splice(i, 1);
} else {
map[id] = true;
i++;
};
};
};
removeDuplicate(arr);
console.log(arr);
আউটপুট
কনসোলে আউটপুট হবে -
[
{ url: 'www.example.com/hello', id: '22' },
{ url: 'www.example.com/hello-how-are-you', id: '23' },
{ url: 'www.example.com/i-like-cats', id: '24' },
{ url: 'www.example.com/i-like-pie', id: '25' }
]