【发布时间】:2019-06-24 16:12:45
【问题描述】:
我正在尝试过滤包含嵌套对象的数组,但在过滤子属性时未返回父级。
let line = "xyz";
let data = [
{
"header": {
"po_no": "P.O. Number"
},
"line": line
},
{
"header": {
"po_no": "Another P.O. Number"
},
"line": line
}
];
...
data.filter(item => {
return item.header.po_no === 'P.O. Number' // Evaluates to true
})
当header.po_no 与字符串匹配时,我想返回整个item。
我不确定如何调试它,因为当返回条件为真时它没有返回任何值。
预期输出:
[{
"header": {
"po_no": "P.O. Number"
},
"line": line
}]
当子属性使用过滤器匹配时,如何返回整个数组索引?
【问题讨论】:
-
你的代码看起来不错
-
"po_no': "另一个 P.O. Number" 此行不正确。" po_no 后未关闭
-
啊,我的实际代码中缺少返回...谢谢大家!!!
-
不,就像@AdityaBhave 说的,你有一个类型:
"po_no'应该是"po_no" -
你可以从箭头函数中隐式返回。
data.filter(item => item.header.po_no === 'P.O. Number' )
标签: javascript arrays filter