Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Xóa phần tử khỏi mảng khi có lặp lại trong JavaScript

Chúng ta cần viết hàm JavaScript nhận một mảng các giá trị nguyên thủy. Hàm trả về mảng mới với tất cả các bộ ba (triplets) bị lọc bỏ.

Mã cho việc này:

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

Kết quả đầu ra console:

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