5種方法:1、用Set結構和Array.from(),語法“Array.from(new Set(arr))”;2、用Set結構和擴展運算符,語法“[…new Set(arr)]”;3、遍歷數(shù)組,在循環(huán)體中利用indexOf()去重等。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
ES6數(shù)組去重的5種方法
1、Set數(shù)據(jù)結構和Array.from()去重
let arr=[1,2,3,3,2,"1",0,undefined,undefined]; let newArr=Array.from(new Set(arr)); console.log(newArr);
2、Set數(shù)據(jù)結構和擴展運算符“…”去重
let arr=[1,2,3,3,2,"1",0,1,2]; let newArr=[...new Set(arr)]; console.log(newArr);
3、利用單層循環(huán) + indexOf 去重
var arr=[1,2,3,3,2,"1",0,1,2,undefined,undefined]; var newArr = []; for(let i = 0;i <arr.length;i++){ if(newArr.indexOf(arr[i]) ===-1) { newArr.push(arr[i]); } } console.log(newArr);
4、利用數(shù)組的 includes 方法去重
var arr=[1,2,3,3,2,"1",0,1,2,undefined,undefined]; var newArr = []; for(let i = 0;i <arr.length;i++){ if(!newArr.includes(arr[i])){ newArr.push(arr[i]); } } console.log(newArr);
5、利用數(shù)組的 filter 方法去重
var arr=[1,2,3,3,2,"1",0,1,2,undefined,undefined]; var newArr = arr.filter((item,index)=> { return arr.indexOf(item,0) === index; }); console.log(newArr);
【