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

Lấy các phần tử trùng lặp chỉ một lần - JavaScript


Cho mảng có các giá trị trùng lặp nhiều lần:

const arr = [1, 4, 3, 3, 1, 3, 2, 4, 2, 1, 4, 4];

Viết hàm lấy ra tất cả các giá trị trùng lặp nhưng chỉ một lần cho mỗi giá trị.

Kết quả mong đợi: [1, 4, 3, 2]

Ví dụ

Mã thực hiện:

const arr = [1, 4, 3, 3, 1, 3, 2, 4, 2, 1, 4, 4]; 
const pickDuplicate = arr => { 
  const res = []; 
  for(let i = 0; i < arr.length; i++){ 
    if(arr.indexOf(arr[i]) !== arr.lastIndexOf(arr[i])){ 
      if(!res.includes(arr[i])){ 
        res.push(arr[i]); 
      }; 
    }; 
  }; 
  return res; 
}; 
console.log(pickDuplicate(arr));

Kết quả

Kết quả in ra console:

[1, 4, 3, 2]