如何在 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' ]

更新日期: 09-Oct-2020

81 個瀏覽量

職業揚帆遠航

完成課程以獲得認證

開始
廣告
© . All rights reserved.