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

Kiểm tra xem một số phần tử của mảng có phải là JavaScript bằng nhau không

Chúng ta có một mảng số có một số mục thừa, công việc của chúng ta là viết một hàm nhận trong mảng và nhóm tất cả các mục giống nhau thành một mảng con và trả về mảng mới do đó đã hình thành.

Ví dụ -

//If the input array is:
const arr = [1, 3, 3, 1];
//then the output should be:
const output = [[1, 1], [3, 3]];

Chúng tôi sẽ sử dụng HashMap để theo dõi các phần tử đã xảy ra và lặp lại trên thearray bằng vòng lặp for, mã cho điều này sẽ là -

Ví dụ

const arr = [1, 3, 3, 1];
const groupArray = arr => {
   const map = {};
   const group = [];
   for(let i = 0; i < arr.length; i++){
      if(typeof map[arr[i]] === 'number'){
         group[map[arr[i]]].push(arr[i]);
      } else {
         //the push method returns the new length of array
         //and the index of newly pushed element is length-1
         map[arr[i]] = group.push([arr[i]])-1;
      }
   };
   return group;
}
console.log(groupArray(arr));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ [ 1, 1 ], [ 3, 3 ] ]