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

Sắp xếp mảng và nhóm tất cả các số giống hệt nhau (trùng lặp) thành mảng con riêng biệt của chúng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một mảng số làm một và là đầu vào duy nhất. Mảng đầu vào có thể sẽ chứa một số mục nhập trùng lặp.

Hàm của chúng ta nên sắp xếp mảng và nhóm tất cả các số giống hệt nhau (trùng lặp) thành mảng con riêng biệt của chúng.

Ví dụ -

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

const arr = [5, 7, 5, 7, 8, 9, 1, 1];

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

const output = [
   [1, 1],
   [5, 5],
   [7, 7],
   [8],
   [9]
];

Ví dụ

Mã cho điều này sẽ là -

const arr = [5, 7, 5, 7, 8, 9, 1, 1];
const sortAndGroup = (arr = []) => {
   let result = [];
   let groupArray;
   arr.sort((a, b) => a - b);
   for (let i = 0; i < arr.length; i++) {
      if (arr[i − 1] !== arr[i]) {
         groupArray = [];
         result.push(groupArray);
      };
      groupArray.push(arr[i]);
   };
   return result;
};
console.log(sortAndGroup(arr));

Đầu ra

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

[ [ 1, 1 ], [ 5, 5 ], [ 7, 7 ], [ 8 ], [ 9 ] ]