在多级数组对象中根据id取值,循环加递归

在多级数组对象中根据id取值,循环加递归2019.12.20

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>递归</title>
</head>

<body>
    <script>
        var options = [{
            value: 'zhinan',
            label: '指南',
            price: '100',
            children: [{
                value: 'shejiyuanze',
                label: '设计原则',
                price: '1002',
                children: [{
                    value: 'yizhi',
                    label: '一致',
                    price: '1003——1',
                    children: [{
                        value: 'yizhi——11',
                        label: '一致',
                        price: '1004——1',
                    }, {
                        value: 'fankui——111',
                        label: '反馈',
                        price: '1004——2',
                    }, ]
                }, {
                    value: 'fankui',
                    label: 'hhhhh',
                    price: '1003——2',
                }, {
                    value: 'xiaolv',
                    label: '效率',
                    price: '1003——3',
                }, {
                    value: 'kekong',
                    label: '可控',
                    price: '1003——4',
                }]
            }, ]
        }, {
            value: 'zhinan222222',
            label: '指南222222',
            price: '200',
        }];
        var ids = ['kekong', 'xiaolv','zhinan222222'];
        var id = 'kekong';

        // options.map((optVal,index)=>{
        //     // console.log(optVal,index)
        //     if(optVal.value==id){
        //         console.log(optVal)
        //     }else{
        //     }
        // })
        var idVal
        getValData(options);

        function getValData(data) {
            if (data) {
                data.map((optVal, index) => {
                    if (optVal.value == id) {
                        idVal=optVal;
                        console.log(idVal,optVal)
                    } else {
                        getValData(optVal.children)
                    }
                })
            } else {
                return;
            }
        }
        console.log(idVal);
        // --------------------
        // ids.map((idsVal,idsIndex)=>{
        //     console.log(ids)
        // })
    </script>
</body>

</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,804评论 1 32
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,755评论 0 17
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,124评论 0 3
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,794评论 0 9
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 9,700评论 0 0