//使用indexOf
function unique1(arr) {
var result=[];
for(var i=0;i<arr.length;i++){
if(result.indexOf(arr[i])==-1){
result.push(arr[i]);
}
}
return result;
}
//利用对象属性不能重复
function unique2(arr){
var result=[],obj=new Object();
for(var i=0;i<arr.length;i++){
if(obj[arr[i]]!=1){
result.push(arr[i]);
obj[arr[i]]=1;
}
}
return result;
}
//先排序再排重
Array.prototype.unique3=function(){
this.sort();
var result=[this[0]];
//与结果数组的最后一项相比,不一样就插入结果数组
for(var i=1;i<this.length;i++){
if(this[i]!==result[result.length-1]){
result.push(this[i]);
}
}
return result;
}
//利用es6的set,用from把set变为数组结构
function unique4(arr){
return Array.from(new Set(arr))
}
JS数组去重的几种实现方法
猜你喜欢
转载自blog.csdn.net/weixin_41531446/article/details/86357049
今日推荐
周排行