--- id: 587d7b7a367417b2b2512b12 title: Copy Array Items Using slice() challengeType: 1 forumTopicId: 301158 localeTitle: Копирование элементов массива Использование среза () --- ## Description
Следующий метод, который мы рассмотрим, - slice() . slice() , вместо того, чтобы модифицировать массив, копировать или извлекать заданное количество элементов в новый массив, оставляя массив вызываемым без изменений. slice() принимает только 2 параметра - первый - это индекс, с которого нужно начинать извлечение, а второй - это индекс, в котором останавливается извлечение (извлечение произойдет до, но не включает элемент в этот индекс). Учти это:
пусть weatherConditions = ['rain', 'snow', 'sleet', 'hail', 'clear'];

let todaysWeather = weatherConditions.slice (1, 3);
// todaysWeather равно ['snow', 'sleet'];
// weatherConditions по-прежнему равно ['rain', 'snow', 'sleet', 'hail', 'clear']
Фактически, мы создали новый массив, извлекая элементы из существующего массива.
## Instructions
Мы определили функцию, forecast , которая принимает массив в качестве аргумента. Измените функцию, используя slice() чтобы извлечь информацию из массива аргументов и вернуть новый массив, содержащий элементы 'warm' и 'sunny' .
## Tests
```yml tests: - text: forecast should return ["warm", "sunny"] testString: assert.deepEqual(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']), ['warm', 'sunny']); - text: The forecast function should utilize the slice() method testString: assert(/\.slice\(/.test(code)); ```
## Challenge Seed
```js function forecast(arr) { // change code below this line return arr; } // do not change code below this line console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms'])); ```
## Solution
```js function forecast(arr) { return arr.slice(2,4); } ```