es5中可以利用for語句和indexOf()函數(shù)來實現(xiàn)數(shù)組去重,語法“for(i=0;i<數(shù)組長度;i++){a=newArr.indexOf(arr[i]);if(a==-1){…}}”。在es6中可以利用擴展運算符、Array.from()和Set來去重;需要先將數(shù)組轉為Set對象來去重,然后利用擴展運算符或Array.from()函數(shù)來將Set對象轉回數(shù)組即可。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
es5 數(shù)組去重
使用indexOf(可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置,如果首次出現(xiàn),返回-1)
var arr = [1,2,3,1,3,4,5]; Array.prototype.myInfo = function(){ var newArr = []; for(var i=0;i<arr.length;i++){ var a = newArr.indexOf(arr[i]); if(a == -1){ newArr[newArr.length] = arr[i]; } } return newArr; } var result = arr.myInfo(); console.log(result);
登錄后復制
es6 數(shù)組去重
Set不允許有重復的元素
let arr = [1,2,1,2,3]; let result = new Set(arr); console.log(result); console.log(Array.from(result));
登錄后復制
rest 方法操作符為“…”
… 將字符從數(shù)組中剝離出來
let arr = [1,2,1,2,3]; let result = new Set(arr); console.log(result); console.log(...result); console.log([...result]); console.log([...new Set(arr)]);
登錄后復制
【