配列のスライス
CoddyのJavaScriptジャーニー「基礎」セクションの一部 — レッスン 67/77。
スライスを使用すると、次の構文を使用して配列の一部を抽出できます:arr.slice(start, stop)。例えば、次の配列を考えてみましょう:
let numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];配列の一部を取得する:
console.log(numbers.slice(2, 6));
// 出力: [2, 3, 4, 5]これは、インデックス2(含める)からインデックス6(含めない)までの要素を取得します。
stopパラメータを省略する場合:
console.log(numbers.slice(5));
// 出力: [5, 6, 7, 8, 9]stop が省略された場合、slice は最後まで継続します。
チャレンジ
簡単配列を入力(given)として受け取り、以下のスライスされた配列を出力するプログラムを作成してください:
- 奇数長の配列の場合:中央の要素とその両側の各1要素(計3要素)を取り出します
- 偶数長の配列の場合:中央の2つの要素を取り出します
このチャレンジでは、配列のスライスは整数でしか機能しないため、Math.floor()を使用してください。
例:
Math.floor(5.5)は浮動小数点数の床関数(floor)を求めるため、5を返します
チートシート
配列の一部を抽出するには、arr.slice(start, stop) を使用します:
let numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(numbers.slice(2, 6)); // [2, 3, 4, 5]開始インデックス(start)は含まれますが、終了インデックス(stop)は含まれません。
末尾までスライスするには、終了パラメータを省略します:
console.log(numbers.slice(5)); // [5, 6, 7, 8, 9]配列のインデックス作成のために浮動小数点を整数に変換するには、Math.floor() を使用します:
Math.floor(5.5); // returns 5自分で試してみよう
let arr = inp.split(", ").map(Number);
// 以下にコードを記述してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。