偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Javascript數(shù)組去重,你學會了嗎?

開發(fā) 前端
Set 對象是一個較新的特性,在一些舊的瀏覽器中可能需要 polyfill 支持。而使用 filter() 或者 reduce() 可能更易于理解,并且不需要額外的 polyfill。

1. Javascript數(shù)組去重

在JavaScript中,有多種方法可以實現(xiàn)數(shù)組去重。

這里我將提供幾種常見的方法來幫助你理解和實現(xiàn)。

1.1. 方法 1: 使用 Set 和 Spread Operator

function unique(array) {
    return [...new Set(array)];
}
let arr = [1, 2, 2, 3, 4, 4, 5];
console.log(unique(arr)); // 輸出 [1, 2, 3, 4, 5]

1.2. 方法 2: 使用 filter()

這種方法是通過遍歷數(shù)組,并且對于每一個元素檢查它是否在之后的部分再次出現(xiàn)。

如果一個元素后面沒有相同的元素,則保留該元素。

function unique(array) {
    return array.filter((item, index, arr) => arr.indexOf(item) === index);
}
let arr = [1, 2, 2, 3, 4, 4, 5];
console.log(unique(arr)); // 輸出 [1, 2, 3, 4, 5]

1.3. 方法 3: 使用 reduce() 和 Set

function unique(array) {
    return Array.from(new Set(array));
    // 或者使用 reduce 實現(xiàn)
    // return array.reduce((acc, item) => acc.includes(item) ? acc : [...acc, item], []);
}
let arr = [1, 2, 2, 3, 4, 4, 5];
console.log(unique(arr)); // 輸出 [1, 2, 3, 4, 5]

1.4. 方法 4: 使用 Object 或 Map

利用對象的鍵值對特性來存儲數(shù)組中的元素,并以鍵的形式存儲唯一的元素。

function unique(array) {
    let obj = {};
    let result = [];
    for (let i = 0; i < array.length; i++) {
        if (!obj[array[i]]) {
            obj[array[i]] = true;
            result.push(array[i]);
        }
    }
    return result;
}
let arr = [1, 2, 2, 3, 4, 4, 5];
console.log(unique(arr)); // 輸出 [1, 2, 3, 4, 5]

每種方法都有其適用場景,選擇哪種取決于你的具體需求以及瀏覽器或環(huán)境的支持情況。

例如,Set 對象是一個較新的特性,在一些舊的瀏覽器中可能需要 polyfill 支持。而使用 filter() 或者 reduce() 可能更易于理解,并且不需要額外的 polyfill。

責任編輯:武曉燕 來源: 前端愛好者
相關推薦

2024-02-29 09:57:08

Simhash內容應用

2023-06-26 00:01:11

2022-12-08 10:49:43

2024-09-04 08:40:51

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構

2023-10-10 11:04:11

Rust難點內存

2024-05-06 00:00:00

InnoDBView隔離

2024-07-31 08:39:45

Git命令暫存區(qū)

2023-01-30 09:01:54

圖表指南圖形化

2022-07-08 09:27:48

CSSIFC模型

2023-12-12 08:02:10

2024-08-06 09:47:57

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發(fā)編程

2022-03-08 08:39:22

gRPC協(xié)議云原生

2023-01-28 09:50:17

java多線程代碼

2023-03-30 08:26:31

DNSTCPUDP
點贊
收藏

51CTO技術棧公眾號