Bạn có thể dàn trải một mảng bên trong một mảng, để giữ cho mảng các mục sạch, khi điều kiện là false
.
Đây là cách bạn có thể làm điều đó :
const items = [
'foo',
... true ? ['bar'] : [],
... false ? ['falsy'] : [],
]
console.log(items)
Giải thích :
Như bạn có thể thấy, toán tử bậc ba luôn trả về một mảng.
Nếu điều kiện là true
, thì nó trả về ['bar']
, ngược lại là một mảng trống []
.
Sau đó, chúng tôi trải ra ...
mảng kết quả (từ phép toán bậc ba) và các mục của mảng được đẩy lên mảng mẹ.
Nếu không có bất kỳ mục mảng nào (khi kiểm tra bậc ba false
), thì không có gì sẽ được đẩy, đó là mục tiêu của chúng tôi.
Trong câu trả lời khác, tôi giải thích ý tưởng tương tự, nhưng đối với các đối tượng. Bạn cũng có thể kiểm tra nó ở đây .