我有:
[{
"id": 1,
"listForExtract": [{
"value1": "1A",
"value2": "2A"
}, {
"value1": "1B",
"value2": "2B"
}, ]
},
{
"id": 2,
"listForExtract": [{
"value1": "1C",
"value2": "2C"
}, {
"value1": "1D",
"value2": "2D"
}, ]
}]
我想将 listForExtract
中的对象提取到一个新数组,就像使用一些下划线传递 ID 的函数一样:
类似于:_.extractNestedArrayFrom(myArray, 'listForExtract', {'id':2})
[{
"value1": "1A",
"value2": "2A"
}, {
"value1": "1B",
"value2": "2B"
}]
最佳答案
var result = _.chain(data)
.where({id:2})
.pluck('listForExtract')
.flatten()
.value()
Where 查找数组中 id
为 2 的所有项目,并 pluck 提取 listForExtract
。然后使用 Flatten 将结果展平为一个数组
关于javascript - Underscore 有一些函数可以将嵌套的对象数组提取到新数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42091128/