方法一:借助indexOf ,判断首次出现的下标位置与循环下标是否相等
function uniqueArrOne(arr) {
for(var i=0;i<arr.length;i++){
if(arr.indexOf(arr[i]) != i){
arr.splice(i, 1) //删除该位置元素,
i--; //数组下标回退
}
}
return arr;
}
方法二 利用filter方法:
function uniqueArrTwo(arr) {
var res = arr.filter((item, index, self) => {
return self.indexOf(item) === index;
}
);
return res;
}
方法三 ES6方法实现(利用Array.from和Set对象实现)
var ResArr = Array.from(new Set(arr));
在组件化可编译开发环境下,强烈推荐使用第三种方法。
网友评论