JS 数组去重

本文介绍了一种使用双重for循环实现的数组去重方法,并通过一个具体示例展示了该算法的具体实现过程。通过比较新旧数组中元素的mapId属性来判断是否重复。
  1. 声明数组
                    newArr:[],
                    oldArr:[
                        {mapId:'b1',imgPathLayer:'aaa'},
                        {mapId:'b2',imgPathLayer:'bbb'},
                        {mapId:'b3',imgPathLayer:'ccc'},
                        {mapId:'b4',imgPathLayer:'ddd'},
                        {mapId:'b1',imgPathLayer:'aaa'},
                        {mapId:'b4',imgPathLayer:'ddd'},
                        ],
  2. 双重for循环实现去重
async function initData() {    

        let oldArr = this.oldArr;
        let newArr = this.newArr;
        for(let i=0;i<oldArr.length;i++){
            let flag = true;
          //            newArr 数组长度为零,跳过内循环执行下一步 if()函数
            for(let j=0;j<newArr.length;j++){
                console.log("- - - - - - - - - " + newArr.length);
                if(oldArr[i].mapId === newArr[j].mapId){
          //        如果newArr 数组中已存在相同的mapId 则不执行if() 函数
                    flag = false;
                }
            }
            if(flag){
                newArr.push(oldArr[i]);
                console.log("--------" + newArr[i].mapId +" "+ newArr[i].imgPathLayer);
            }

        }
}

3.输出结果  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值