[英]Ternary operator return nothing
有沒有辦法為三元運算符返回任何內容我的意思是
const a = [ 0 ? { name : "example" } : null ]
當我打印 a = [null]
或者:
const a = [ 0 && {name:"example"}]
a 將是 [false]
我預計案例 1 的 a = []
不,這是不可能的。 你會得到一個價值回來。
如果您有條件地想要一個值,那么要么在數組之外做出決定,要么在之后過濾掉 null 值。
例如
const a = 0 ? [ { name: "example" } ] : [];
或者
const a = [ 0 ? { name : "example" } : null ].filter(Boolean);
您可以傳播一個(空)數組。
console.log([...(0? [{ name: "example" }]: [])]); console.log([...(1? [{ name: "example" }]: [])]);
null
是 Javascript 中一個完全有效的數組值,與undefined
一樣。
您可以簡單地按需構造數組...
const a = 0 ? [{ name : "example" }] : [];
或者,如果這是更大數組結構的一部分,請使用 splats ...
const a = [
'a',
...(0 ? [{name : "example"}] : []),
'b'
];
console.log(a); //-> ['a', 'b']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.