自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

1. Javascript數(shù)組去重

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

這里我將提供幾種常見的方法來幫助你理解和實(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ù)組,并且對(duì)于每一個(gè)元素檢查它是否在之后的部分再次出現(xiàn)。

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

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 實(shí)現(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

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

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]

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

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

責(zé)任編輯:武曉燕 來源: 前端愛好者
相關(guān)推薦

2024-02-29 09:57:08

Simhash內(nèi)容應(yīng)用

2023-06-26 00:01:11

2022-12-08 10:49:43

2024-09-04 08:40:51

2023-01-10 08:43:15

定義DDD架構(gòu)

2024-02-04 00:00:00

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

2023-07-26 13:11:21

ChatGPT平臺(tái)工具

2024-01-19 08:25:38

死鎖Java通信

2024-01-02 12:05:26

Java并發(fā)編程

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2024-05-06 00:00:00

InnoDBView隔離

2024-08-06 09:47:57

2022-07-08 09:27:48

CSSIFC模型

2023-01-30 09:01:54

圖表指南圖形化

2024-07-31 08:39:45

Git命令暫存區(qū)

2023-12-12 08:02:10

2023-10-10 11:04:11

Rust難點(diǎn)內(nèi)存

2022-07-13 08:16:49

RocketMQRPC日志

2023-01-31 08:02:18

2023-03-26 22:31:29

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)