Conditional spread element
Just make it
...(cond ? extraInfo : [])
Demo with true
Demo with false
Conditionally spread an entity to Object
console.log( { name: 'Alex', age: 19, ...(true && { city: 'Kyiv' }), ...(false && { country: 'Ukraine' }) }) // { name: 'Alex', age: 19, city: 'Kyiv' }
Conditionally spread an entity to Array
console.log( [ 'Dan', 'Alex', ...(true ? ['Robin'] : []) ])// [ 'Dan', 'Alex', 'Robin' ]
Another way:
cond is true:
var extraInfo = [ { a: 11, b: 25 }, { a: 12, b: 34 }, { a: 1, c: 99 }]var cond = true;var userInfo = [ { z: 8 }, { z: 10 }, ...(cond && extraInfo || [])]console.log(userInfo);
cond is false:
var extraInfo = [ { a: 11, b: 25 }, { a: 12, b: 34 }, { a: 1, c: 99 }]var cond = false;var userInfo = [ { z: 8 }, { z: 10 }, ...(cond && extraInfo || [])]console.log(userInfo);