溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript數(shù)組去重內(nèi)置方法怎么使用

發(fā)布時(shí)間:2023-05-12 11:18:40 來源:億速云 閱讀:85 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(xì)介紹“javascript數(shù)組去重內(nèi)置方法怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javascript數(shù)組去重內(nèi)置方法怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

JavaScript 數(shù)組去重內(nèi)置方法有三種:Set、indexOf 和 includes。

一、Set 方法
Set 是 ES6 中新增的一種數(shù)據(jù)結(jié)構(gòu),它允許你存儲(chǔ)任意類型的唯一值,即保證集合中的元素不重復(fù)。利用 Set 的特性,可以很方便地對數(shù)組進(jìn)行去重。

使用 Set 方法去重的具體步驟如下:

  1. 定義一個(gè)空的 Set 對象;

  2. 遍歷數(shù)組,將數(shù)組元素作為 Set 對象的值存入;

  3. 將 Set 對象轉(zhuǎn)為數(shù)組。

示例代碼如下:

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = Array.from(new Set(arr));
console.log(newArr); // [1, 2, 3, 4, 5]

上述代碼中,Array.from 方法用于將 Set 對象轉(zhuǎn)為數(shù)組。運(yùn)行結(jié)果表明,數(shù)組 arr 中的重復(fù)元素已經(jīng)被去除。

二、indexOf 方法
indexOf 方法可以查詢數(shù)組中指定元素的位置,如果不存在,則返回 -1。利用這個(gè)方法,我們可以在遍歷數(shù)組時(shí)判斷元素是否存在,從而達(dá)到去重的目的。

使用 indexOf 方法去重的具體步驟如下:

  1. 定義一個(gè)空的數(shù)組;

  2. 遍歷原數(shù)組 arr,如果新數(shù)組 newArr 中不存在當(dāng)前元素,則將當(dāng)前元素添加到 newArr 中。

示例代碼如下:

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = [];
for (let i = 0; i < arr.length; i++) {
 if (newArr.indexOf(arr[i]) === -1) {

newArr.push(arr[i]);

}
}
console.log(newArr); // [1, 2, 3, 4, 5]

上述代碼中,通過判斷元素在新數(shù)組中是否存在,達(dá)到了去重的目的。運(yùn)行結(jié)果和 Set 方法的結(jié)果相同。

三、includes 方法
includes 方法是 ES7 中新增的方法,它用于判斷數(shù)組是否包含指定元素。針對去重操作,我們可以在遍歷數(shù)組時(shí)判斷新數(shù)組中是否包含當(dāng)前元素,從而去除重復(fù)元素。

使用 includes 方法去重的具體步驟如下:

  1. 定義一個(gè)空的數(shù)組;

  2. 遍歷原數(shù)組 arr,如果新數(shù)組 newArr 中不包含當(dāng)前元素,則將當(dāng)前元素添加到 newArr 中。

示例代碼如下:

const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = [];
for (let i = 0; i < arr.length; i++) {
 if (!newArr.includes(arr[i])) {

newArr.push(arr[i]);

}
}
console.log(newArr); // [1, 2, 3, 4, 5]

和 indexOf 方法相比,includes 方法可以更加簡潔地實(shí)現(xiàn)去重操作。運(yùn)行結(jié)果和前兩種方法的結(jié)果相同。

讀到這里,這篇“javascript數(shù)組去重內(nèi)置方法怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI