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

Loại bỏ trùng lặp và ánh xạ mảng trong JavaScript

Giả sử chúng ta có mảng đối tượng như sau:

const arr = [ 
  {id:123, value:"value1", name:"Name1"}, 
  {id:124, value:"value2", name:"Name1"}, 
  {id:125, value:"value3", name:"Name2"}, 
  {id:126, value:"value4", name:"Name2"} 
];

Lưu ý một số thuộc tính name trong đối tượng trong mảng bị trùng lặp.

Chúng ta cần viết hàm JavaScript nhận vào mảng này. Hàm xây dựng mảng chuỗi mới chỉ chứa giá trị thuộc tính name duy nhất từ mảng.

Kết quả mong đợi:

const output = ["Name1", "Name2"];

Ví dụ

Mã thực hiện:

const arr = [ 
  {id:123, value:"value1", name:"Name1"}, 
  {id:124, value:"value2", name:"Name1"}, 
  {id:125, value:"value3", name:"Name2"}, 
  {id:126, value:"value4", name:"Name2"} 
]; 
const pickNames = (arr = []) =>{ 
  const res = []; 
  for (let i = arr.length; i--;){ 
    if (res.indexOf(arr[i].name) < 0) { 
      res.push(arr[i].name); 
    }; 
  } 
  return res; 
}; 
console.log(pickNames(arr));

Kết quả

Kết quả in ra console:

[ 'Name2', 'Name1' ]