Remove duplicates from an array keeping its length same in JavaScript

JavascriptWeb DevelopmentObject Oriented Programming

We have to write a function that takes in an array, removes all duplicates from it and inserts the same number of empty strings at the end.

For example − If we find 4 duplicate values we have to remove then all and insert four empty strings at the end.

Therefore, let’s write the code for this problem −

Example

const arr = [1,2,3,1,2,3,2,2,3,4,5,5,12,1,23,4,1];
const deleteAndInsert = arr => {
   const creds = arr.reduce((acc, val, ind, array) => {
      let { count, res } = acc;
      if(array.lastIndexOf(val) === ind){
         res.push(val);
      }else{
         count++;
      };
      return {res, count};
   }, {
      count: 0,
      res: []
   });
   const { res, count } = creds;
   return res.concat(" ".repeat(count).split(" "));
};
console.log(deleteAndInsert(arr));

Output

The output in the console will be −

[
   2, 3, 5, 12, 23, 4, 1,
   '', '', '', '', '', '', '',
   '', '', '', ''
]
raja
Published on 26-Aug-2020 15:14:34
Advertisements