码迷,mamicode.com
首页 > 编程语言 > 详细

js数组去重方法集合

时间:2018-08-11 19:39:21      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:数组元素   回退   相等   --   i++   没有   dex   ice   lte   

//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就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数组去重方法集合

标签:数组元素   回退   相等   --   i++   没有   dex   ice   lte   

原文地址:https://www.cnblogs.com/samsara-yx/p/9460688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!