JavaScript中有重复项时如何从数组中删除某些项

我们需要编写一个包含一组文字的JavaScript函数。我们的函数应该返回一个新数组,其中所有三元组都已过滤。

为此的代码将是-

const arr1 = [1,1,1,3,3,5];

const arr2 = [1,1,1,1,3,3,5];

const arr3 = [1,1,1,3,3,3];

const arr4 = [1,1,1,1,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,7,7];

const removeTriplets = arr => {

   const hashMap = arr => arr.reduce((acc, val) => {

      if(val in acc){

         acc[val]++;

      }else{

         acc[val] = 1;

      };

      return acc;

   }, {});

   let res = [];

   let obj = hashMap(arr);

   for(let key in obj){

      for(let i = 0; i < obj[key] % 3; i++){

         res.push(key)

      };

   }

   return res;

}

console.log(removeTriplets(arr1));

console.log(removeTriplets(arr2));

console.log(removeTriplets(arr3));

console.log(removeTriplets(arr4));

控制台中的输出-

[ '3', '3', '5' ]

[ '1', '3', '3', '5' ]

[]

[ '1', '7', '7' ]

以上是 JavaScript中有重复项时如何从数组中删除某些项 的全部内容, 来源链接: utcz.com/z/338259.html

回到顶部