JavaScriptのslice()メソッドで配列の先頭から複数の要素を取得する方法
JavaScriptのslice()メソッドとは
JavaScriptの配列から最初のX個の要素にアクセスしたい場合、組み込みのslice()メソッドを使うのが最もシンプルで確実な方法です。
slice()は元の配列を変更せず、指定した範囲の要素だけを含む新しい配列を返す非破壊的なメソッドです。
サンプル:配列の最初の3つの要素を取得する
例として、配列の最初の3つの項目を操作するケースを考えてみましょう。ここでは、トレーニング種目のリストを配列として定義します。
const exerciseList = [
"Deadlift",
"Squat",
"Push-up",
"Pull-up",
"Turkish Get-up",
"Kettlebell Swing",
]
ステップ1:取得する要素数を定義する
まず、アクセスしたい要素の数を変数として定義します。
// 最初の3つの項目を取得する
const numberOfItems = 3
ステップ2:slice()で新しい配列を作成する
次に、最初の3つの項目を格納するための新しい変数を宣言し、slice()の結果を代入します。
const firstThreeExercises = exerciseList.slice(0, numberOfItems)
slice()の第1引数は開始位置(インデックス)、第2引数は終了位置です。終了位置のインデックス自体は結果に含まれない点に注意してください。つまりslice(0, 3)は、インデックス0〜2の3つの要素を取り出します。
実行結果の確認
console.log()を使って、元の配列と切り出した配列の中身を出力してみましょう。
console.log(exerciseList)
// 出力: ["Deadlift", "Squat", "Push-up", "Pull-up", "Turkish Get-up", "Kettlebell Swing"]
console.log(firstThreeExercises)
// 出力: ["Deadlift", "Squat", "Push-up"]
注意点:元の配列は変更されない
この方法では、元のexerciseList配列は一切変更されません。slice()は常に新しい配列を返すため、元のデータを保持したまま安全に部分抽出ができます。
なお、元の配列から要素を削除したい場合は、代わりに破壊的なsplice()メソッドを使用します。名前が似ていますが挙動がまったく異なるので、混同しないようにしましょう。
-
JavaScriptで配列の要素を同じ配列内に複製する方法
JavaScriptでは、concat()メソッドとsort()メソッドを組み合わせることで、既存の配列の要素を同じ配列内に複製することができます。ここでは、実際に動作するサンプルコードを使って、その手順をわかりやすく解説します。 コード例 以下は、配列の要素を同じ配列内に複製するためのコード例です。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" cont
-
JavaScriptで配列内の全要素の組み合わせを取得するアルゴリズム
はじめに 本記事では、文字列の配列を受け取り、その配列に含まれるすべての要素の組み合わせを生成して返すJavaScript関数を作成します。ここでの「組み合わせ」とは、配列から1つ以上の要素を選んで作られるすべてのパターンを指します。 入力例と期待される出力 たとえば、入力配列が次のような場合: const arr = [a, b, c, d]; 出力は次の15通り(空の組み合わせを除いた数)になります。 const output = [a, ab, abc, abcd, abd, ac, acd, ad, b, bc, bcd, bd, c, cd, d]; アルゴリズムの考え方 この種