JavaScript數(shù)組去重有何工具

小樊
81
2024-10-25 16:38:42

在 JavaScript 中,有多種方法可以實(shí)現(xiàn)數(shù)組去重。以下是一些常用的工具:

  1. Set

    Set 是 ES6 引入的一種新的數(shù)據(jù)結(jié)構(gòu),它類似于數(shù)組,但是它的成員是唯一的,沒(méi)有重復(fù)的值??梢岳?Set 對(duì)象來(lái)去除數(shù)組中的重復(fù)項(xiàng)。

    const removeDuplicates = (arr) => {
      return [...new Set(arr)];
    };
    
    const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = removeDuplicates(arrayWithDuplicates);
    console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
    
  2. filter() 方法

    使用數(shù)組的 filter() 方法,可以通過(guò)遍歷數(shù)組并檢查每個(gè)元素是否已經(jīng)存在于一個(gè)新數(shù)組中來(lái)去除重復(fù)項(xiàng)。

    const removeDuplicates = (arr) => {
      return arr.filter((item, index) => arr.indexOf(item) === index);
    };
    
    const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = removeDuplicates(arrayWithDuplicates);
    console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
    
  3. reduce() 方法

    使用數(shù)組的 reduce() 方法,可以通過(guò)遍歷數(shù)組并將不重復(fù)的元素添加到新數(shù)組中來(lái)去除重復(fù)項(xiàng)。

    const removeDuplicates = (arr) => {
      return arr.reduce((accumulator, currentValue) => {
        if (!accumulator.includes(currentValue)) {
          accumulator.push(currentValue);
        }
        return accumulator;
      }, []);
    };
    
    const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = removeDuplicates(arrayWithDuplicates);
    console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
    

這些方法都可以有效地去除數(shù)組中的重復(fù)項(xiàng)。你可以根據(jù)你的需求和喜好選擇合適的方法。

0