Copy part of array in javascript I have an array and must fill another one.

Depending of a boolean I copy first or second element and the rest must be as is...

Currently I do it like this (data has the desired info):

const newArray = [];
newArray[0] = theBoolean ? data[0] : data[1];
for (let i = 2; i &lt; data.length; i += 1) {
  newArray[i - 1] = data[i];
}


I've tried with shift and slice but no success... 

¿how can I beautify this snippet?
You're on the right track trying slice. Here's an example of using it with no loops required.

Initialisation

You could initialise newArray with an element directly in the declaration, removing the need for newArray[0] = ...:

const newArray = [theBoolean ? data[0] : data[1]];

Pushing all other elements from data to newArray:

You could use Array.prototype.slice to get all other elements: data.slice(2).

Using spread operator:

const newArray = [theBoolean ? data[0] : data[1]];
newArray.push(...data.slice(2));

// or, one liner:
const newArray = [theBoolean ? data[0] : data[1], ...data.slice(2)];


Using Array.prototype.concat:

const newArray = [theBoolean ? data[0] : data[1]].concat(data.slice(2));


Using Function.prototype.apply:

const newArray = [theBoolean ? data[0] : data[1]];
[].push.apply(newArray, data.slice(2));