es6中,單獨使用擴(kuò)展運算符“…”無法去重,可配合Set對象來進(jìn)行數(shù)組去重。去重方法:1、用“new Set(arr)”語句將數(shù)組轉(zhuǎn)為Set集合類型,利用Set特性去除重復(fù)元素;2、用“[…集合]”語句將去重后的Set集合轉(zhuǎn)為數(shù)組。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
在es6中,單獨使用擴(kuò)展運算符“…”無法去重,可配合Set對象來進(jìn)行數(shù)組去重。
-
Set是ES6新提供的數(shù)據(jù)結(jié)構(gòu),類似于數(shù)組,但是本身沒有重復(fù)值。利用這一特性,我們可以將數(shù)組轉(zhuǎn)為Set類型進(jìn)行去重,然后使用Array.from方法將其再轉(zhuǎn)為數(shù)組。
-
擴(kuò)展運算符
…
是ES6中引入的,將可迭代對象展開到其單獨的元素中,所謂的可迭代對象就是任何能用for of
循環(huán)進(jìn)行遍歷的對象,例如:數(shù)組、字符串、Map 、Set 、DOM節(jié)點等。
實現(xiàn)思想:
-
將數(shù)組轉(zhuǎn)為set集合去重后,使用擴(kuò)展運算符
…
將集合展開到數(shù)組中,將集合轉(zhuǎn)為數(shù)組
實現(xiàn)代碼:
let arr=[1, 2, 3,3,2,"1",0,undefined,undefined]; let newArr=[...new Set(arr)]; console.log(newArr);
【