我正在尝试根据日期获取失败详细信息。 为此,我正在应用 array.filter 但它返回空数组。
下面是我的数组:
value:[{
"Date": "02/04/2019",
"Total": "1000",
"Success": "850",
"Failure": "150",
"FailureDeatils": [{
"Reason": "Reason1",
"Count": 2
},
{
"Reason": "Reason2",
"Count": 6
}
]
}, {
"Date": "03/04/2019",
"Total": "800",
"Success": "750",
"Failure": "150",
"FailureDeatils": [{
"Reason": "Reason1",
"Count": 3
}, {
"Reason": "Reason2",
"Count": 1
}]
}]
如果我将日期指定为 02/04/2019,它应该返回以下内容:
{
"FailureDeatils": [{
"Reason": "Reason1",
"Count": 2
},
{
"Reason": "Reason2",
"Count": 6
}
]
}
我正在使用下面的 array.filter 方法:
var filtered = value.filter(isPresent);
function isPresent(value) {
return value == 02/04/2019;
}
这将返回空数组。
谁能告诉我我哪里出错了?
最佳答案
这是基于您的数组的工作代码。
var value = [{
"Date": "02/04/2019",
"Total": "1000",
"Success": "850",
"Failure": "150",
"FailureDeatils": [{
"Reason": "Reason1",
"Count": 2
},
{
"Reason": "Reason2",
"Count": 6
}
]
}, {
"Date": "03/04/2019",
"Total": "800",
"Success": "750",
"Failure": "150",
"FailureDeatils": [{
"Reason": "Reason1",
"Count": 3
}, {
"Reason": "Reason2",
"Count": 1
}]
}];
var filtered = value.filter (isPresent).map (obj => obj.FailureDeatils);;
function isPresent (value) {
return value.Date == "02/04/2019";
}
console.log (filtered);
关于javascript - Array.filter 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55824276/