为了账号安全,请及时绑定邮箱和手机立即绑定

数组es6遍历取值问题

数组es6遍历取值问题

湖上湖 2019-03-20 17:15:27
有没有什么快捷一点的方法去遍历树形结构的数组,取出需要的值呢?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的值
查看完整描述

6 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-03-22
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

var res = []

var len = arr.length;

for (let i = 0; i < len; i++){

    if (arr[i].select) res.push(arr[i])

    var childLen = arr[i].children.length

    for (let j = 0; j < childLen; j++) {

        if (arr[i].children[j].select) res.push(arr[i].children[j])

    }

}

献丑了


查看完整回答
反对 回复 2019-03-22
  • 6 回答
  • 0 关注
  • 984 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信