标签:去重 false bsp uniq nbsp new [] index 四种
1、通过遍历原数组和新数组是否重复。new一个新数组存放已经遍历过的、唯一的元素。
function uniqueArr(list){
var newArr= [list[0]];
for(var i=1;i<list.length;i++){
var isRepeat = false;
for(var j=0;j<newArr.length;j++){
if(list[i] == newArr[j]){
isRepeat= true;
break;
}
}
if(!isRepeat){
newArr.push(list[i]);
}
}
return newArr;
}
var arr=[‘a‘,‘b‘,‘c‘,‘a‘,‘b‘];
uniqueArr(arr); //output:["a", "b", "c"]
2、通过先排序,再与相邻的元素进行比较去重(排序之后相同的元素会相邻)
function uniqueArr(list){
list.sort();//对数组进行排序
var newArr= [];
for(var i=1;i<list.length;i++){
if(list[i]!=list[i+1]) newArr.push(list[i]);
}
return newArr;
}
var arr=[‘a‘,‘b‘,‘c‘,‘a‘,‘b‘];
uniqueArr(arr); //output:["a", "b", "c"]
3、新建一个对象进行存放,再遍历数组,判断对象是否存在该值(obj[i])
function uniqueArr(list){
var obj= {},newArr=[list[0]];
obj[list[0]]=true;
for(var i=1;i<list.length;i++){
if(!obj[list[i]]){
obj[list[i]]=true;
newArr.push(list[i]);
}
}
return newArr;
}
var arr=[‘a‘,‘b‘,‘c‘,‘a‘,‘b‘];
uniqueArr(arr); //output:["a", "b", "c"]
4、通过indexOf进行判断(新建一个数据存放唯一的元素,遍历原数组判断(newArr.indexOf(oldArr[i])==-1))
function uniqueArr(list){
var newArr=[list[0]];
for(var i=1;i<list.length;i++){
if(newArr.indexOf(list[i])==-1){
newArr.push(list[i]);
}
}
return newArr;
}
var arr=[‘a‘,‘b‘,‘c‘,‘a‘,‘b‘];
uniqueArr(arr); //output:["a", "b", "c"]
标签:去重 false bsp uniq nbsp new [] index 四种
原文地址:http://www.cnblogs.com/ducky-L/p/7266383.html