您的位置:首页 > Web前端 > JavaScript

js 数组去重方法总结

2015-11-17 00:00 691 查看
摘要: js 数组去重

方法一:用到js内置的indexOf方法

Array.prototype.unique = function(){
var result = [];
for(var i=0,ci;ci=this[i++];){
if(result.indexOf(ci) == -1) result.push(ci);
}
}

方法二:用到hash表,要求数组元素值只能为字符

Array.prototype.unique=function(){
for(var i=0,temp={},result=[],ci;ci=this[i++];){
if(temp[ci])continue;
temp[ci]=1;
result.push(ci);
}
return result;
}

方法二中的hash查找比indexOf方法遍历数组快的多,但应用场景有限

方法三:用sort先对数组元素排序

Array.prototype.unique = function(){
this.sort();
var result = [], end = 0;
result.push(this[0]);
for(var i=0,ci;ci=this[i++];){
if(ci != result[end]){
result.push(ci);
end++;
}
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js数组去重