Computer >> Máy Tính >  >> Lập trình >> Javascript

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

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng Số chứa nhiều mục nhập trùng lặp.

Hàm phải chuẩn bị một mảng gồm tất cả các phần tử xuất hiện nhiều lần trong mảng và trả về mảng đó.

Ví dụ -

Nếu mảng đầu vào là -

const arr = [1, 3, 4, 3, 5, 4, 6, 8, 8];

Sau đó, mảng đầu ra phải là -

const output = [3, 4, 8];

Ví dụ

Sau đây là mã -

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]] = map[arr[i]] + 1;
      } else {
         map[arr[i]] = 1;
      };
   };
   return res;
};
console.log(findDuplicates(arr));

Đầu ra

Sau đây là kết quả trên bảng điều khiển -

[3, 4, 8]