递归判断多维数组中对象是否有值

Posted yuzhongyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归判断多维数组中对象是否有值相关的知识,希望对你有一定的参考价值。

一个项目需求中,需要判断数组中的对象是否有值,先看下数据结构:

let list = [
        
            value: "1",
            children: [
                
                    value: "2",
                ,
                
                    value: "3",
                    children: [
                        
                            value: "4",
                        ,
                    ]
                
            ]
        ,
        
            value: "5",
        
    ]

那么如何进行判断多层子集是否有值呢?这里就会用到递归来实现

    function ruleValidate(data) 
        let flag = true;
        var arr = [];
        function judgeChildren(data) 
            data.forEach(e => 
                if (!flag) 
                    return
                
                if (!e.value) 
                    flag = false;
                    return;
                 else if (e.children && e.children.length) 
                    judgeChildren(e.children);
                
            );
        
        judgeChildren(data);
        return flag;
    
    console.log(ruleValidate(list))

 

以上是关于递归判断多维数组中对象是否有值的主要内容,如果未能解决你的问题,请参考以下文章

php怎样判断多维数组是不是为空

php 中 判断数组中是不是有值

JS 数组对象判断属性值是不是为空?

php判断多维数组的技巧

php 如何判断$_SESSION 是不是有值

判断一个数组是不是一维数组