品易云推流 关闭
文章详情页
文章 > JavaScript > js数组去重的方法有哪些?

js数组去重的方法有哪些?

js javascript

头像

宋雪维

2020-12-21 16:10:004412浏览 · 0收藏 · 0评论

对于前端的开发人员来说,数据与数组的使用已经成为日常工作的一部分。而对于大量的数组重复问题,我们需要对数组进行去重。具有函数优先的轻量级解释性语言js也会面临着数组重复的情况。本文小编整理总结了js数组去重的三种方法:1、双层for循环嵌套,使用splice去重;2、建新数组,使用indexOf去重;3、ES6中使用Set去重。

方法一:双层for循环嵌套,使用splice去重

优点:兼容性好

function uniqueArr(arr){         if(!Array.isArray(arr)){                alert("type error");                return;            }            for(let i=0;i<arr.length;i++){                for(let j=i+1;j<arr.length;j++){                    if(arr[i] === arr[j]){                        arr.splice(j,1);                        j--;                    }                }            }            return arr;        }

方法二:建新数组,使用indexOf去重

优点:简化一层循环

function unique(arr){    var res = [];    for (var i = 0, len = arr.length; i < len; i++) {       var cur = arr[i];        if(res.indexOf(cur) === -1) { // res中不包含cur            res.push(cur);        }    }    return res; }

方法三:ES6中使用Set去重

Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。

优点:成员的值都是唯一的,没有重复的值。

function uniqueArr(arr){

            if(!Array.isArray(arr)){

                alert("type error");

                return;

            }

            return [...new Set(arr)];

        }

 以上就是小编整理总结了js数组去重的三种方法,大家可以根据具体情况选择合适的方法哟~

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图