js数组去重方法集合

Posted Samsara315

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组去重方法集合相关的知识,希望对你有一定的参考价值。

//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来
var arr = [‘a‘, 1, 1, 1, 2, 4, 4, ‘b‘, ‘c‘, ‘a‘];
        var newArr = [];
        var len = arr.length;
        for (i = 0; i < len; i++) {
            var flag = false;
            for (var member of newArr) {
                if (member === arr[i]) {
                    flag = true;
                    break
                }
            }
            if (!flag) {
                newArr.push(arr[i])
            }
        }
        console.log(‘1111111111111111‘, newArr)

  

//第二种,两层循环,相互比较,如果相同就删除
        var arr2 = [1, 2, 3, ‘a‘, ‘b‘, 3, 2, ‘c‘, ‘a‘];
        var len2 = arr2.length;
        while (len2-- > 0) {
            for (let i = 0; i < len2; i++) {
                if(arr2[i]==arr2[len2]){
                    arr2.splice(i,1)
                    break
                }
                
            }
        }
        console.log(‘2222222222222‘,arr2)

  

//3.借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等
var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];
function rep(arr) {
    for (var i = 0; i < arr.length; i++) {
        if (arr.indexOf(arr[i]) != i) {
            arr.splice(i,1);//删除数组元素后数组长度减1后面的元素前移
            i--;//数组下标回退
        }
    }
    return arr;
}
var a1 = rep(arr);
console.log(a1);

  

//4.借助indexOf()和一个空数组
var arr3=[‘f‘,‘c‘,1,2,3,4,4,4,‘v‘,‘f‘];
        var newArr3=[];
        for(i=0;i<arr3.length;i++){
            if(newArr3.indexOf(arr3[i])<0){
                newArr3.push(arr3[i])
            }
        }
        console.log(‘33333333333333‘,newArr3)

  

//5.filter方法
        var arr4 = [1, 2, 3, 1,2,5,6]
        var arr4temp=arr4.filter(function(ele,index,self){
            return self.indexOf(ele)===index;
        })
        console.log(arr4temp)

  

以上是关于js数组去重方法集合的主要内容,如果未能解决你的问题,请参考以下文章

JS 利用集合set实现 数组去重 交集 并集 差集

js数组去重几种思路

js去掉数组中重复的元素

js中数组去重的方法

js取两个数组的交集|差集|并集|补集|去重示例代码

js数组去重论