色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 數(shù)組去重方法

JavaScript 數(shù)組去重方法 在 JavaScript 中,數(shù)組是一種非常常用的數(shù)據(jù)類(lèi)型,它可以存儲(chǔ)多個(gè)數(shù)據(jù),但是有時(shí)候我們需要對(duì)數(shù)組中重復(fù)的數(shù)據(jù)進(jìn)行去重操作,以減少數(shù)據(jù)冗余,提高數(shù)據(jù)處理效率。那么,如何實(shí)現(xiàn) JavaScript 數(shù)組去重呢?下面,本文將為大家介紹幾種實(shí)現(xiàn) JavaScript 數(shù)組去重的方法。 方法一:使用 Set 去重 ES6 中引入了一個(gè)新的數(shù)據(jù)類(lèi)型 Set,它類(lèi)似于數(shù)組,但是成員的值都是唯一的,沒(méi)有重復(fù)的值。我們可以利用 Set 數(shù)據(jù)類(lèi)型去重,具體實(shí)現(xiàn)代碼如下所示:
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
上述代碼中,利用 Set 數(shù)據(jù)類(lèi)型去重,將數(shù)組 arr 轉(zhuǎn)化為 Set 類(lèi)型后再轉(zhuǎn)化為數(shù)組,從而實(shí)現(xiàn)了數(shù)組去重。 方法二:使用數(shù)組遍歷去重 使用數(shù)組遍歷的方式也可以實(shí)現(xiàn) JavaScript 數(shù)組去重,思路是遍歷數(shù)組,將每個(gè)元素與前面的元素進(jìn)行比較,如果不相同,則將當(dāng)前元素加入到一個(gè)新的數(shù)組中。具體實(shí)現(xiàn)代碼如下:
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
for (let i = 0; i< arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
上述代碼中,利用 for 循環(huán)遍歷數(shù)組,使用 indexOf 方法判斷當(dāng)前元素是否在新數(shù)組中出現(xiàn)過(guò),如果沒(méi)有出現(xiàn)過(guò)則將其加入到新數(shù)組中。 方法三:使用對(duì)象屬性去重 使用對(duì)象屬性的方式也可以實(shí)現(xiàn) JavaScript 數(shù)組去重,思路是以數(shù)組元素的值作為對(duì)象屬性名,在對(duì)象中查找該屬性是否存在,如果存在則說(shuō)明數(shù)組中已經(jīng)含有該元素,如果不存在則將該屬性加入到對(duì)象中,并將該元素加入到新數(shù)組中。具體實(shí)現(xiàn)代碼如下:
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
let obj = {};
for (let i = 0; i< arr.length; i++) {
if (!obj[arr[i]]) {
obj[arr[i]] = true;
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
上述代碼中,利用 for 循環(huán)遍歷數(shù)組,使用對(duì)象屬性的方式進(jìn)行去重,將每個(gè)元素作為對(duì)象的屬性名,判斷對(duì)象中是否含有該屬性,如果沒(méi)有則將該屬性加入到對(duì)象中,并將該元素加入到新數(shù)組中。這種方式實(shí)現(xiàn)數(shù)組去重效率較高,但是需要瀏覽器支持 ES5 及以上語(yǔ)法。 方法四:使用 Map 數(shù)據(jù)類(lèi)型去重 Map 數(shù)據(jù)類(lèi)型與 Set 類(lèi)型類(lèi)似,也可以用來(lái)去重,思路是將數(shù)組元素作為 Map 的鍵值,并將其值設(shè)為 true,從而實(shí)現(xiàn)數(shù)組去重。具體實(shí)現(xiàn)代碼如下:
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
let map = new Map();
for (let i = 0; i< arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true);
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
上述代碼中,利用 for 循環(huán)遍歷數(shù)組,使用 Map 數(shù)據(jù)類(lèi)型進(jìn)行去重,將每個(gè)元素作為 Map 的鍵值,判斷 Map 中是否含有該鍵值,如果沒(méi)有則將該鍵值加入到 Map 中,并將該元素加入到新數(shù)組中。 綜上所述,本文介紹了 JavaScript 數(shù)組去重的四種方法,每種方法都有其優(yōu)缺點(diǎn),具體實(shí)現(xiàn)取決于具體業(yè)務(wù)需求和數(shù)據(jù)量大小。通過(guò)本文的介紹,相信大家對(duì) JavaScript 數(shù)組去重有了更深入的理解,可以在實(shí)際開(kāi)發(fā)中靈活運(yùn)用。