小编典典

如何定义具有条件元素的数组?

all

如何定义条件数组元素?我想做这样的事情:

const cond = true;
const myArr = ["foo", cond && "bar"];

这按预期工作并导致["foo", "bar"]但如果我设置condfalse,我会得到以下结果:["foo", false]

如何定义带有条件元素的数组?


阅读 169

收藏
2022-06-24

共1个答案

小编典典

当条件为false.

这是你可以做到的

// Will result in ['foo', 'bar']

const items = [

  'foo',

  ... true ? ['bar'] : [],

  ... false ? ['falsy'] : [],

]



console.log(items)

说明

如您所见,三元运算符总是返回一个数组。

如果条件为true,则返回['bar'],否则为空数组[]

之后,我们展开...结果数组(来自三元运算)并将数组的项推送到父数组。

如果没有任何数组项(当三元检查为 时false),则不会推送任何内容,这是我们的目标。


在其他答案中,我解释了相同的想法,但针对对象。你也可以在这里查看

2022-06-24