js 树形结构根据条件push新数组
数据结构↓
const data = [{
name: '水果大全',
id: '111',
isOpen: true //把111 push进newData
children: [{
name: '浆果类',
id: '112',
isOpen: true //把112 push进newData
children: [{
name: '草莓',
id: '113',
isOpen: true //把113 push进newData
}, {
name: '桑椹',
id: '114',
isOpen: true
}, {
name: '黑莓',
id: '115',
isOpen: false
}]
}, {
name: '柑橘类',
id: '116',
isOpen: true
children: [{
name: '橘子',
id: '117',
isOpen: true
}, {
name: '橙子',
id: '118',
isOpen: false
}]
}]
}, {
name: '奥特曼大全',
id: '119',
isOpen: true
children: [{
name: '昭和类',
id: '120',
isOpen: true
children: [{
name: '杰克',
id: '121',
isOpen: true
}, {
name: '泰罗',
id: '122',
isOpen: false
}, {
name: '艾斯',
id: '123',
isOpen: true
}]
}, {
name: '平成类',
id: '124',
isOpen: false
children: [{
name: '迪迦',
id: '125',
isOpen: false
}, {
name: '盖亚',
id: '126',
isOpen: false
}]
}]
}]
理想效果↓
const newData = [111, 112, 113, 114, 116, 117, 119, 120, 121, 123]
每一个层级都有isOpen这个字段,遍历所有层级,isOpen为true的话就把同对象里的id PUSH进newData里面
我该怎么操作呢,感谢各位大神大哥的指导,可能对你们来说很简单,但我对树形结构得操作一窍不通,先感谢你们的回答,小弟感激不尽,还请轻喷!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
https://github.com/Lushenggan...