三元运算符return 无
Ternary operator return nothing
有没有办法return三元运算符什么都没有我的意思是
const a = [ 0 ? { name : "example" } : null ]
当我打印 a = [null]
或:
const a = [ 0 && {name:"example"}]
a 将是 [false]
我预计案例 1 的 a = []
没有。这是不可能的。你会得到一个值。
如果您有条件地想要一个值,则要么在数组外做出决定,要么在之后过滤掉空值。
例如
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']
有没有办法return三元运算符什么都没有我的意思是
const a = [ 0 ? { name : "example" } : null ]
当我打印 a = [null]
或:
const a = [ 0 && {name:"example"}]
a 将是 [false]
我预计案例 1 的 a = []
没有。这是不可能的。你会得到一个值。
如果您有条件地想要一个值,则要么在数组外做出决定,要么在之后过滤掉空值。
例如
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']