浅谈数组复杂数据去重

今天在开发过程中实现顶部菜单和底部菜单关联的功能,发现重复点击顶部菜单时候导致界面视图菜单重复展示,于是想到数组去重解决这一Bug.

目前最简洁的写法就是用ES6的set去重

let tabList=[{"name":"系统监控","path":"/monitor"},{"name":"银行信息","path":"/bankinfo"},{"name":"银行信息","path":"/bankinfo"}]

function unique(arr){
    return Array.from(new Set(arr))    //或者写成 return [...new Set(arr)]
}

console.log(unique(tabList))

2.借助双for循环,比对唯一属性去重

let tabList=[{"name":"系统监控","path":"/monitor"},{"name":"银行信息","path":"/bankinfo"},{"name":"银行信息","path":"/bankinfo"}]
function unique(arr){
    for(let i=0;i<arr.length;i++){
        for(let j=i+1;j<arr.length;j++){
            if(arr[i].name===arr[j].name){
                arr.splice(j,1) //删除后面重复元素
            }
        }
    }
    return arr
}
console.log(unique(tabList))

猜你喜欢

转载自blog.csdn.net/qq_30596783/article/details/120313788
今日推荐