【发布时间】:2021-11-18 14:36:49
【问题描述】:
我想过滤 javascript 中的嵌套对象数组。
我从其他question得到以下答案。
var sampleData= [{
"rowId": "3.0.0",
"startDate": "2020-10-20",
"subTasks": [
{
"rowId": "3.3.0",
"startDate": "2021-05-26",
"subTasks": [
{
"rowId": "3.3.0.1",
"startDate": "2021-05-26",
"subTasks": []
},
{
"rowId": "3.3.0.2",
"startDate": "2021-06-09",
"endDate": "2021-07-23",
"subTasks": []
},
]
},
]
}]
filtered = sampleData.map(element => {
return {
...element,
subTasks: element.subTasks.filter(subElement => {
return subElement.endDate
})
}
})
console.log("sampleData",JSON.stringify(filtered))
我想根据结束日期进行申报。 预期输出:需要过滤 rowId 为“3.3.0.2”的对象。
此代码最多只能过滤 2 个级别。但在我的例子中,嵌套对象可以增长到 10 个级别。如何过滤最多 n 级的对象数组?
【问题讨论】:
标签: javascript arrays filter underscore.js