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

Xóa object trùng lặp theo thuộc tính - JavaScript


Giả sử chúng ta có mảng object như sau:

const arr = [{name: "Jack", age: "14"},{name: "bob", age: "14"}, {name: "sue", age: "21"}, {name: "Jill", age: "16"}, {name: "Jack", age: "21"}];

Chúng ta cần viết hàm nhận vào mảng này và xóa tất cả object có giá trị name trùng lặp.

Kết quả:

const arr = [{name: "Jack", age: "14"},{name: "bob", age: "14"}, {name: "sue", age: "21"}, {name: "Jill", age: "16"}];

Ví dụ

Dưới đây là đoạn code:

const arr = [ 
  {name: "Jack", age: "14"}, 
  {name: "bob", age: "14"}, 
  {name: "sue", age: "21"}, 
  {name: "Jill", age: "16"}, 
  {name: "Jack", age: "21"} 
]; 
const removeDuplicate = arr => { 
  const appeared = {}; 
  for(let i = 0; i < arr.length; ){ 
    if(!appeared.hasOwnProperty(arr[i].name)){ 
      appeared[arr[i].name] = 1; 
      i++; 
      continue; 
    }; 
    arr.splice(i, 1); 
  }; 
}; 
removeDuplicate(arr); 
console.log(arr);

Kết quả

Đoạn code sẽ in ra console:

[ 
  { name: 'Jack', age: '14' }, 
  { name: 'bob', age: '14' }, 
  { name: 'sue', age: '21' }, 
  { name: 'Jill', age: '16' } 
]