javascript 数组去重的三种方式

前端 javascript 996      收藏
javascript 数组去重的三种方式

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组去重</title>
</head>
<body>
<script>
//方法一:利用元素查找的方法
Array.prototype.unique1 = function(){
var newArr = [];
var len = this.length;
for(var i=0;i<len;i++){
if(newArr.indexOf(this[i])===-1){
newArr.push(this[i]);
}
}
return newArr;
}
//方法二:利用对象不可能有重复的属性来进行去重
Array.prototype.unique2 = function(){
var newArr = [],
obj = {},
len = this.length;
for(var i=0;i<len;i++){
if(!obj[this[i]]){
obj[this[i]] = true;
newArr.push(this[i]);
}
}
return newArr;
}
//方法三:利用元素查找的方法
Array.prototype.unique3 = function(){
var newArr = [],
len = this.length;
for(var i=0;i<len;i++){
if(this.indexOf(this[i])===i){
newArr.push(this[i]);
}
}
return newArr;
}
</script>

</body>
</html>