How can I ignore certain returned values from array destructuring?

KevBot picture KevBot · Oct 16, 2017 · Viewed 13.2k times · Source

Can I avoid declaring a useless variable when array destructuring when I am only interested in array values beyond index 0?

In the following, I want to avoid declaring a, I am only interested in index 1 and beyond.

Answer

KevBot picture KevBot · Oct 16, 2017

Can I avoid declaring a useless variable when array destructuring when I am only interested in array values beyond index 0?

Yes, if you leave the first index of your assignment empty, nothing will be assigned. This behavior is explained here.

// The first value in array will not be assigned
const [, b, ...rest] = [1, 2, 3, 4, 5];

console.log(b, rest);

You can use as many commas as you like wherever you like, except after a rest element:

const [, , three] = [1, 2, 3, 4, 5];
console.log(three);

const [, two, , four] = [1, 2, 3, 4, 5];
console.log(two, four);

The following produces an error:

const [, ...rest,] = [1, 2, 3, 4, 5];
console.log(rest);