数组去重

方法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Array.prototype.unique1 = (){
var res = [this[0]];
for(var i = 1; i < this.length; i++){
var repeat = false;
for(var j = 0; j < res.length; j++){
if(this[i] == res[j]){
repeat = true;
break;
}
}
if(!repeat){
res.push(this[i]);
}
}
return res;
}
var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]
alert(arr.unique1());

方法二

1
2
3
4
5
6
7
8
9
10
var arr = ['aaa','bbb','aaa','ccc','111','bbb','ddd','ccc','222','ccc','111','fff'];
//定义一个新的数组
var s = [];
//遍历数组
for(var i = 0;i<arr.length;i+ +){
if(s.indexOf(arr[i]) == -1){ //判断在s数组中是否存在,不存在则push到s数组中
s.push(arr[i]);
}
}
console.log(s); //["aaa", "bbb", "ccc", "111", "ddd", "222", "fff"]

关于indexOf()方法:

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果在数组中没找到字符串则返回 -1。