Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa trùng lặp từ mảng có giá trị URL trong JavaScript

Giả sử có mảng đối tượng:

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" } 
];

Viết hàm xóa các đối tượng có key id trùng lặp, không dùng thư viện bên ngoài.

Ví dụ

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);

Kết quả

Kết quả in ra console:

[ 
  { 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' } 
]