首页 > 代码库 > 哈希表数组去重
哈希表数组去重
方式1:使用shift()获取并删除删除数组的第一个元素,判断这个元素是否还存在于数组中,如果存在则说明这个元素的是重复的;如果不存在,进行push()操作
function unique(a){
if(Array.isArray(a)){
var len = a.length,item;
while(len--){
item = a.shift();
if(a.indexOf(item) === -1){
a.push(item);
}
}
}
return a;
}
方式2:建立一个哈希表,通过对象属性查询去除重复元素
function unique(array){
var hash = {},
len = array.length,
result = [],
i;
for(i = 0; i < len; i++){
if(!hash[a[i]]){
hash[a[i]] = true;
result.push(a[i]);
}
}
return result;
}
方式3:思路和方式2类似,但是简洁很多
function unique(arr) {
var hash = {};
return arr.filter(function (n) {
hash[n] = (hash[n] || 0);
return (++hash[n] <= 1);
});
}
哈希表数组去重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。