我在獲取資料時遇到問題。所以我想過濾掉任何具有"Draft"或的 invoice_status 的,或者"Ready to Bill","Cancelled"如果它是invoice_status is null AND status is null
一切都被正確過濾掉了,除了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)
)
);
uj5u.com熱心網友回復:
代碼中的過濾條件被寫為條件即詞的否定(相反),以便在true何時保留元素。您的陳述被正確否定,除了:!invoice_status is null AND status is null不是(r.invoice_status !== null && r.status !== null),是(r.invoice_status !== null || r.status !== null)。
這是一般規則:!(A && B) == (!A || !B),見否定規則。
uj5u.com熱心網友回復:
由于您要過濾掉 invoice_status is null AND status is null,因此當您反轉邏輯時,根據德摩根定理,您會得到invoice_status is not null OR status is not null。最終改變&&一個||應該做的伎倆
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/408467.html
標籤:
