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

Tìm tất cả số trùng lặp trong mảng có nhiều bản sao trong JavaScript

Viết hàm nhận mảng số có nhiều phần tử trùng. Trả về mảng các phần tử xuất hiện > 1 lần (mỗi phần tử chỉ liệt kê một lần).

Ví dụ: [1,3,4,3,5,4,6,8,8] → [3,4,8].

Ví dụ

const arr = [1,3,4,3,5,4,6,8,8];
const findDuplicates = (arr = []) => {
  let map = {};
  let res = [];
  for (let i = 0; i < arr.length; i++) {
    if (map[arr[i]]) {
      if (map[arr[i]] === 1) {
        res.push(arr[i]);
      }
      map[arr[i]]++;
    } else {
      map[arr[i]] = 1;
    }
  }
  return res;
};
console.log(findDuplicates(arr)); // [3,4,8]

Kết quả

[3, 4, 8]