zoukankan      html  css  js  c++  java
  • 递归找到一个复杂对象中的某个值和它的最小层级

    复杂对象是数组或者对象,或者嵌套嵌套很深的对象数组,递归找到是否包含某个值,并且返回它的最小层级对象:

    var flag = false;
    function exitindata(data,item){
        if(data instanceof Array){
             var i = data.length;
             while(i--){
                if(flag){
                    break;
                }
                if(data[i] === item){
                    flag = true;
                    break
                }else{
                    if(data[i] instanceof Array || data[i] instanceof Object){
                            flag=exitindata(data[i],item);
                        }
                }
             }
        }else{
            for(var key in data){
                if(flag){   
                    break
                }
                if(data.hasOwnProperty(key) === true){
                     if(data[key]  === item){
                        flag = true;
                        break
                     }else{
                        if(data[key] instanceof Array || data[key] instanceof Object){
                             flag=exitindata(data[key],item);
                        }
                     }
                }
            }
        }
        if(flag){
            flag=false;   
            return true;
        }else{
            return null
        }
    } 
    
    function find(item){
        var data = [9,
        {
            item1:50,
            item2:94,
            item3:[
                {
                    cc: 9999,
                    ff:9090
                }
            ]
        }
        ,65,1111,54,11,0,1,3,7,8,5,649,841];
        console.log(exitindata(data,item));
    } 
    
    exitindata能找到那个数,且能知道包裹它的最小层级即data

    在链接:https://ask.csdn.net/questions/379889处看到且自己实际使用了。

  • 相关阅读:
    vue
    Html5的本地储存 Web Storage
    java json解析(转)
    Python常用字符编码(转)
    特殊符号集锦(转)
    neo4j性能调优(转)
    hadoop fs -text和hadoop fs -cat的区别(转)
    docker和dockerfile极简入门(转)
    docker原理(转)
    neo4j配置(转)
  • 原文地址:https://www.cnblogs.com/wulinzi/p/15155655.html
Copyright © 2011-2022 走看看