【发布时间】:2022-01-11 15:09:19
【问题描述】:
我在获取数据时遇到问题。所以我想过滤掉任何具有"Draft" 或"Ready to Bill" 或"Cancelled" 或invoice_status is null AND status is null 的invoice_status
所有内容都被正确过滤掉了,除了没有被过滤掉invoice_status is null AND status is null 的任何数据。我下面的代码有什么问题?
console.log(
"data...",
this.props.partnerOrders.filter(
r =>
(r.invoice_status !== "Draft" &&
r.invoice_status !== "Ready to Bill" &&
r.invoice_status !== "Cancelled") ||
(r.invoice_status !== null && r.status !== null)
)
);
【问题讨论】:
-
||表示如果第一部分中的invoice_status检查为真,则根本不会执行第二部分中对nulls 的检查。如果您想保留以下条目 1) 有invoice_statusnot 等于Draft、Ready to bill或Cancelled,并且 2) 有invoice_status不是null和 @ 987654337@ 不是null,您需要使用&&而不是||。你实际上只需要一系列!==条件,并由&&加入。 -
我也试过了,但还是不行。它会过滤掉所有内容
-
请使用包含您要保留和要删除的条目的数组更新问题,并向我们展示结果数组的外观。听起来
status检查可能需要以某种方式分组。 (是否有要保留的status = null条目?)
标签: javascript reactjs