四种数组去重

1.es3函数

//判断一个元素是否存在于某个数组内
function exist(element,array) {
        /*array.forEach(function (curr) {
            if (curr === element){
                return true;
            }
        })
        return false;*/
        for (var i = 0;i < array.length;i++) {
            if (array[i] === element) {
                return true;
            }
        }
        return false;
    }

    var aki = [];
    var ramai = [1,"momo","nagi",1,"ohana","moegumi","suki","omae","momo"];
//aki空数组中不存在的就往里面添加,返回的新数组就是需要的去重的数组
    function del(arr) {
        arr.forEach((curr,index) => {
            if (index == 0) {
                aki.push(curr);
            } else if (!exist(curr,aki)){
                aki.push(curr);
            }
        })

        return aki;
    }
    del(ramai);
    console.log(aki)

2.filter瞎几把用

let haha = [1,2,32,14,15,"ww",435,32,2,7,"ww",8];
        let strArr = [];
        let ret = haha.filter((item) => {
            let str = (typeof item) + item;
            //console.log(str)
            if(!strArr.includes(str)) {
                strArr.push(str);
                return true;
            }
            })
        console.log(ret)
        console.log(strArr) //(9) ["number1", "number2", "number32", "number14", "number15", "stringww", "number435", "number7", "number8"]
filter只关注你给我返回true还是false,true就往ret里加

3.ES5 

var oo = [1,2,3,1,'a',1,'a'].filter(function(ele,index,array){
            return index===array.indexOf(ele)
        })
        console.log(oo)

4.ES6

var haha = [...new Set([1,2,3,1,'a',1,'a'])]
        console.log(haha)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值