树形结构,判断同级结构字段是否有相同的值

有如下树形结构,同级节点webName:"100"有两个相同的,返回true,用js如何实现?

[
    {
        "webName":"1",
        "childList":[
            {
                "webName":"100"
            },
            {
                "webName":"101"
            },
            {
                "webName":"100"
            }
        ]
    },
    {
        "webName":"11"
    },
    {
        "webName":"12"
    }
]
阅读 2.7k
1 个回答

也没啥好说的,递归呗。

image.png

findArrWebNameEq = function(arr){
    var tag = false;
    var hash = {};
    arr.forEach((item)=>{
        if(hash[item.webName]) tag = true;
        hash[item.webName] = 1;
        if(item.childList){
            if( findArrWebNameEq(item.childList)){
                tag = true;
            }
        }
    })
    return tag
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题