JavaScript 配列の先頭の要素を非破壊的に取得する方法

JavaScript では配列の先頭の要素を削除するために shift() というメソッドが存在します。

しかし、このメソッドを使用すると、元の配列が変化してしまいます。

const csv = [
  ['name', 'age', 'prefecture'],
  ['tom', '23', 'Saitama'],
  ['babu', '44', 'Nagano'],
]

csv.shift()
console.log(csv)

// csv は以下のような配列になり、0番目の要素が消えてしまう。
[
  ["tom", "23", "Saitama"],
  ["babu", "44", "Nagano"],
]

以下のように分割代入を使用することで、元の配列を破壊せずに、先頭の要素や先頭の要素以外を取得可能です。

const csv = [
  ['name', 'age', 'prefecture'],
  ['tom', '23', 'Saitama'],
  ['babu', '44', 'Nagano'],
]

const [header, ...rows] = csv

console.log(rows)
// rows の結果
[
  ["tom", "23", "Saitama"],
  ["babu", "44", "Nagano"],
]

console.log(csv)
// 元の csv にはヘッダーが含まれている。
[
  ["name", "age", "prefecture"]
  ["tom", "23", "Saitama"],
  ["babu", "44", "Nagano"],
]