猿问

数组es6遍历取值问题

有没有什么快捷一点的方法去遍历树形结构的数组,取出需要的值呢?


var arr = [

        {

            title: '书籍',

            id: 1,

            select: false,

            children: [

                {

                    title: '语文',

                    id: 11,

                    select: false

                },

                {

                    title: '数学',

                    id: 12,

                    select: false

                }

            ]

        },

        {

            title: '文具',

            id: 2,

            select: true,

            children: [

                {

                    title: '铅笔',

                    id: 21,

                    select: false

                },

                {

                    title: '尺子',

                    id: 12,

                    select: false

                }

            ]

        },

        {

            title: '水果',

            id: 3,

            select: false,

            children: [

                {

                    title: '苹果',

                    id: 31,

                    select: true

                },

                {

                    title: '香蕉',

                    id: 32,

                    select: false

                }

            ]

        }

    ];

取出select为true的值


湖上湖
浏览 985回答 6
6回答

阿波罗的战车

如果数据是传输过来的,则只有遍历一种方法,而且没有多少取巧的地方。如果数据是在一个系统内产生的,则可能结合一些处理进行综合考虑。

慕无忌1623718

var res = []var len = arr.length;for (let i = 0; i < len; i++){&nbsp; &nbsp; if (arr[i].select) res.push(arr[i])&nbsp; &nbsp; var childLen = arr[i].children.length&nbsp; &nbsp; for (let j = 0; j < childLen; j++) {&nbsp; &nbsp; &nbsp; &nbsp; if (arr[i].children[j].select) res.push(arr[i].children[j])&nbsp; &nbsp; }}献丑了
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答