web-dev-qa-db-ja.com

配列の破壊から特定の戻り値を無視するにはどうすればよいですか?

インデックス0を超える配列値のみに関心がある場合、配列を構造化するときに無駄な変数を宣言しないようにすることはできますか?

以下では、aの宣言を避けたいので、インデックス1以降にのみ興味があります。

// How can I avoid declaring "a"?
const [a, b, ...rest] = [1, 2, 3, 4, 5];

console.log(a, b, rest);
26
KevBot

インデックス0を超える配列値のみに関心がある場合、配列を構造化するときに無駄な変数を宣言しないようにすることはできますか?

はい、割り当ての最初のインデックスを空のままにすると、何も割り当てられません。この動作は ここで説明 です。

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

console.log(b, rest);

残りの要素の後を除き、好きなだけ好きなだけカンマを使用できます。

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

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

以下はエラーを生成します。

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