问题出在对象的filter()槽数组中,我需要检查数组的当前index(object)
是否具有值为isTransffered: false
的属性。
这是我使用过滤器功能的方式:
let filteredResults = allResults
// isTransferred --> coming from state and have value "false"
if (isTransferred && isTransferred !== 'all') {
filteredResults = filteredResults.filter(
res => res.isTransfer === isTransferred
)
}
filteredResults
是对象数组-这是数组的第一个索引:
0:
accountNumber: "8787986"
isTransfer: true
jurisdiction: "AK"
lineOfBusiness: "wc"
我需要检查isTransfer是否为假。
谢谢。
答案 0 :(得分:0)
问题在于您的情况是否
if (isTransferred && isTransferred !== 'all') {
// this will not be executed if isTransferred is false
filteredResults = filteredResults.filter(
res => res.isTransfer === isTransferred
)
}
简单地写为
if (isTransferred !== 'all') {
filteredResults = filteredResults.filter(
res => res.isTransfer === isTransferred
)
}
答案 1 :(得分:0)
如果在filteredResults
内需要拥有具有属性isTransfer === false
的所有对象,那么filter()
回调中就会出现问题。
如果输入IF
语句,则isTransferred
等于true
。不过,在filter()
回调中,您编写了:res => res.isTransfer === isTransferred
,这在普通语言中是”“接受属性isTransfer
等于isTransferred
的条目” 。
但是,由于我们位于IF
中,因此isTransferred
等于true
!因此,您只是采用具有isTrasnfer
属性等于true
的条目。
解决方案:您应该写res => res.isTransfer !== isTransferred
,我们更简单的res => res.isTransfer === false