首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JavaScript数组去重方法

JavaScript数组去重方法

作者头像
越陌度阡
发布于 2022-11-27 17:34:00
发布于 2022-11-27 17:34:00
8840
举报

在写JavaScript代码的时候,经常会用需要给数组去重,常用的操作方法是,利用indexOf去目标数中反复查找,代码如下所示:

代码语言:javascript
复制
function repeat(arr){
    var result=[];
    for(var i=0;i<arr.length;i++){
        // 在result中如果找不到arr中当前元素
        if(result.indexOf(arr[i])==-1){
            // 才将当前元素压入result
            result.push(arr[i]);
        }
    };
    return result;
}

但是这种写法的性能不高,碰到较大的数组时,很耗时,所以一般会用hash的方法去给数组去重。

代码语言:javascript
复制
function repeat(arr){
    var hash={};
    var result=[];
    for(var i=0;i<arr.length;i++){
        if(hash[arr[i]]===undefined){
            result.push(arr[i]);
            hash[arr[i]]=1;
        }
    }
    return result;
}

通过用hash的方法给数组去重,性能可以提高很多倍的,大家可以自己试一下啊。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档