【发布时间】:2016-10-12 18:17:19
【问题描述】:
我有一个这样的数组:
[
{"id":"one","name":"school", "selected": false, "children":[
{"id":"1","name":"school", "selected": false},
{"id":"2","name":"student", "selected": true},
{"id":"3","name":"teacher", "selected": false}
]},
{"name":"two","name":"school", "selected": false, "children":[
{"id":"1","name":"school", "selected": true},
{"id":"3","name":"teacher", "selected": false}
]},
{"name":"three","name":"school", "selected": true, "children":[
{"id":"1","name":"school", "selected": false},
{"id":"2","name":"student", "selected": false}
]}
]
如何过滤该数组以仅获取字段选择为 true 的对象的名称?
输出应该是对象名称的数组:
[student, school, school]
我用 lodash 试过这个:
_.filter(array, {selected: true}).map(function (division) {
return array.name;
});
但这总是返回根对象,而不是子对象中的对象。
【问题讨论】:
-
你可以使用基本的 for 循环
-
请注意:children是child的复数形式。
-
@sabithpocker 或儿童
标签: javascript arrays algorithm filter lodash