Files
2022-01-20 20:30:18 +01:00

2.1 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b7a367417b2b2512b12 Slice() を使用した配列アイテムのコピー 1 301158 copy-array-items-using-slice

--description--

次に取り上げるメソッドは slice() です。 slice() は配列を変更するのではなく、指定された数の要素を新しい配列にコピー、または抽出します。呼び出された配列は変更されずに残されます。 slice() は 2 つのパラメーターしか取りません。最初のパラメーターは抽出を開始するインデックスで、2 つ目のパラメーターは抽出を終了するインデックスです (このインデックスの前の要素までが抽出されます)。 以下の例を考えてみましょう。

let weatherConditions = ['rain', 'snow', 'sleet', 'hail', 'clear'];

let todaysWeather = weatherConditions.slice(1, 3);

todaysWeather の値は ['snow', 'sleet'] になりますが、weatherConditions の値は ['rain', 'snow', 'sleet', 'hail', 'clear'] のままです。

結果として、既存の配列から要素を抽出して新しい配列を作成したことになります。

--instructions--

関数 forecast を定義しました。この関数は配列を引数として取ります。 slice() を使用して、引数の配列から情報を抽出し、文字列要素 warmsunny を含む新しい配列を返すように、関数を変更してください。

--hints--

forecast["warm", "sunny"] を返す必要があります。

assert.deepEqual(
  forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']),
  ['warm', 'sunny']
);

forecast 関数で slice() メソッドを使用する必要があります。

assert(/\.slice\(/.test(code));

--seed--

--seed-contents--

function forecast(arr) {
  // Only change code below this line

  return arr;
}

// Only change code above this line
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));

--solutions--

function forecast(arr) {
  return arr.slice(2,4);
}