falseคุณสามารถแพร่กระจายภายในอาร์เรย์ของอาร์เรย์เพื่อให้รายการอาร์เรย์สะอาดเมื่อเงื่อนไขเป็น
นี่คือวิธีที่คุณสามารถทำได้ :
const items = [
'foo',
... true ? ['bar'] : [],
... false ? ['falsy'] : [],
]
console.log(items)
คำอธิบาย :
ดังที่คุณเห็นว่าตัวดำเนินการ ternary จะส่งกลับอาร์เรย์เสมอ
ถ้าเงื่อนไขเป็นtrueแล้วก็จะส่งกลับมิฉะนั้นอาร์เรย์ที่ว่างเปล่า['bar'][]
หลังจากนั้นเราจะกระจาย...อาร์เรย์ผลลัพธ์ออกไป(จากการดำเนินการด้านท้าย) และรายการของอาร์เรย์จะถูกผลักไปยังอาร์เรย์แม่
หากไม่มีรายการอาร์เรย์ใด ๆ (เมื่อมีการตรวจสอบด้านบนfalse) ก็จะไม่มีการผลักดันซึ่งเป็นเป้าหมายของเรา
ในคำตอบอื่นฉันอธิบายแนวคิดเดียวกัน แต่สำหรับวัตถุ คุณสามารถตรวจสอบมันมากเกินไปที่นี่