数组去重
1.开关
function norepeat(arr){
var newarr = [];
newarr.push(arr[0);//将去重前的数组的第一项放到新数组中
for(var i = 1;i<arr.length;i++){//去重前的数组
var bstop = true;//开关,没有重复
for(var j = 0;j<newarr.length-1;j++){
if(arr[i]==newarr[j]){//将去重前的数组与新数组中的每一项进行比较
bstop = false;
break;//如果有重复,终止此次遍历
}
}
if(bstop){
newarr.push(arr[i]);
}
}
return newarr;
}
2.spice
function norepeat(arr){
for(var i = 0;i<arr.length;i++){
for(var j = i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1)
j--;
}
}
}
return arr;
}
3.indexof
function norepeat(arr){
var newarr = [];
for(var i = 0;i<arr.length;i++){
if(newarr.indexof(arr[i])==-1){
newarr.push(arr[i]);
}
}
return newarr;
}
4.filter+indexof
function norepeat(arr){
var newarr = arr.filter(function(v,i,array){
return arr.indexof(v)== i;
});
return arr;
}
5.正则
for(var i = 0;i<arr.length;i++){
for(var j = i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr[j] = '*';
}
}
}
console.log(arr.join('&').replace(/\*/g,'').split('&').filter(function(v,i,array){return v}));
6.数组新方法set
var arr = [];
var s1 = new Set(arr);
console.log(Array.from(s1));
7.jquery 的$.unique
$.unique([1,2,3,4,51,3,2,3])
posted on 2017-11-30 20:11 Dishonestman 阅读(113) 评论(0) 编辑 收藏 举报