利用关联数组去重
function unique(){
var arr = [1,2,1,3,2,4,5,3];
for(var i=0,hash = [],result = [];i<arr.length;i++){
if(hash[arr[i]] === undefined){
result[result.length] = arr[i];
hash[arr[i]] = 1;
}
}
console.log(result)
}
unique()
定义一个函数给数组去重
function quchong(){
var arr = [1,2,1,3,2,4,5,3];
for(var i=0,result=[];i<arr.length;i++){
for(var j=0;j<result.length;j++){
if(result[j]==arr[i]){
break;
}
}
if(result.length==j){
result[result.length] = arr[i];
}
}
console.log(result)
}
quchong()
在原型链上去重(在原型链上去重其实就是把数组去重的方式写到数组的原型链上)
Array.prototype.unique = function(){
if(this.length){
for(var i=0,result = [],hash = [];i<this.length;i++){
if(hash[this[i]] === undefined){
result.push(this[i]);
hash[this[i]] = 1;
}
}
return result;
}
}
var arr = [1,2,3,1,2,3];
var a = arr.unique();
console.log(a)
也可以这样写,利用对象去重
function uniqun(arr){
var hash = {},
result = [];
if(arr.length == 0){
return [];
}else{
for(var i=0;i<arr.length;i++){
if(!hash[arr[i]]){
result[result.length] = arr[i];
hash[arr[i]] = 1;
}
}
return result;
}
}
var arr = uniqun([1,2,1,3,2,3])