'How to fill an Array conditionally?
I have the following JS code:
let a = false
let b = true
let c = [...(a ? {d: 1} : {})]
I'm trying to set c
to [{d: 1}]
if a
is true, and set it to []
if a
is false. It's throwing the error object is not iterable (cannot read property Symbol(Symbol.iterator))
Why is it throwing this error and how can I fix it?
Solution 1:[1]
You need to wrap the expressions in arrays.
const
a = false,
b = true,
c = [...(a ? [{ d: 1 }] : [])],
d = [...(b ? [{ d: 1 }] : [])];
console.log(c);
console.log(d);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Nina Scholz |