I don't want second element null in else condition .. i just don't want second element. How to solve this issue?
var template = "";
var myArray = [
{ element : "header" },
template === 'foo' ? { element : "sidebar" } : null,
{ element : "footer" }
]
console.log(myArray)
There something called conditional spread operator and it's perfect for your issue
When condition is false you spread empty array so literally nothing is added to array you declare
const template1=""
const myArray1 = [
{ element : "header" },
...( template1 === 'foo' ? [{ element : "sidebar" }] : [] ),
{ element : "footer" }
]
console.log(myArray1)
const template2="foo"
const myArray2 = [
{ element : "header" },
...( template2 === 'foo' ? [{ element : "sidebar" }] : [] ),
{ element : "footer" }
]
console.log(myArray2)
I like the spread operator in the other example
For compatibility, just use an if:
var template1 = "foo";
var myArray1 = [
{ element : "header" },
{ element : "footer" }
]
if (template1 === 'foo') myArray1.splice(1,0,{ element : "sidebar" })
console.log(myArray1)
var template2 = "";
var myArray2 = [
{ element : "header" },
{ element : "footer" }
]
if (template2 === 'foo') myArray2.splice(1,0,{ element : "sidebar" })
console.log(myArray2)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With