Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Check If Some Elements of Array Are Equal in JavaScript



We have an array of numbers that have got some redundant entries, our job is to write a function that takes in the array and groups all the identical entries into one subarray and returns the new array thus formed.

For example −

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

We will use a HashMap to keep a track of the elements already occurred and iterate over the array using a for loop, the code for this will be −

Example

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));

Output

The output in the console will be −

[ [ 1, 1 ], [ 3, 3 ] ]
Updated on: 2020-08-25T07:13:13+05:30

357 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements