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

javascript array 去重

張吉惟1年前8瀏覽0評論
JavaScript Array 去重指的是從一個數(shù)組中移除重復(fù)的元素,留下不重復(fù)的元素。在實際的開發(fā)中,我們常常需要去重操作,比如用戶提交的表單數(shù)據(jù),有可能存在重復(fù)的數(shù)據(jù),我們就需要將重復(fù)的數(shù)據(jù)去重。本文將介紹幾種實現(xiàn) JavaScript Array 去重的方法。 方法一:使用 Set Set 對象是一種新的數(shù)據(jù)類型,其成員值唯一,不會有重復(fù)的值。因此,我們可以利用 Set 對象的屬性來實現(xiàn) JavaScript Array 的去重。
// 使用 Set 去重
var arr = [1, 2, 3, 3, 4, 4, 6, 5];
var newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 6, 5]
這段代碼首先定義了一個數(shù)組 arr,然后使用 Set 對象將 arr 中的重復(fù)元素去除,最后使用擴(kuò)展運(yùn)算符將 Set 對象轉(zhuǎn)為數(shù)組。 方法二:使用 Map 我們也可以使用 Map 對象實現(xiàn)數(shù)組的去重,利用 Map 對象的 key 值唯一的特點(diǎn),將重復(fù)元素的 key 值相同,從而移除重復(fù)的元素。
// 使用 Map 去重
function unique(arr) {
var map = new Map();
var newArr = [];
for (var i = 0; i< arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true); // 設(shè)置 key 值,值無所謂
newArr.push(arr[i]);   // 將不重復(fù)的元素添加到新數(shù)組中
}
}
return newArr;
}
var arr = [1, 2, 3, 3, 4, 4, 6, 5];
var newArr = unique(arr);
console.log(newArr); // [1, 2, 3, 4, 6, 5]
這段代碼定義了一個 unique 函數(shù),它接受一個數(shù)組作為參數(shù),并返回一個去重后的新數(shù)組。在函數(shù)內(nèi)部,首先定義了一個 Map 對象 map,以及一個新數(shù)組 newArr。接下來,遍歷數(shù)組 arr,如果 map 對象中沒有這個元素,則將該元素的 key 值設(shè)置為 true,并將該元素添加到新數(shù)組中。 方法三:使用 reduce reduce 方法可以用于數(shù)組的元素累加,也可以用于數(shù)組去重。我們可以通過在 reduce 方法中判斷元素是否在新數(shù)組中存在,從而實現(xiàn)去重。
// 使用 reduce 去重
var arr = [1, 2, 3, 3, 4, 4, 6, 5];
var newArr = arr.reduce(function(prev, curr){
if(prev.indexOf(curr) === -1) prev.push(curr);
return prev;
}, []);
console.log(newArr); // [1, 2, 3, 4, 6, 5]
這段代碼定義了一個數(shù)組 arr,然后使用 reduce 方法對 arr 進(jìn)行去重操作。在 reduce 函數(shù)中,判斷當(dāng)前元素 curr 是否在新數(shù)組 prev 中存在,如果不存在,則將其添加到新數(shù)組中。 總結(jié) 本文介紹了三種不同的方法實現(xiàn) JavaScript Array 去重,分別是使用 Set、Map 和 reduce 方法。在實際開發(fā)中,我們可以根據(jù)具體情況選擇適合自己的方法進(jìn)行去重操作,提高代碼的效率和可讀性。