--- id: 587d78b2367417b2b2512b0f title: Remove Items from an Array with pop() and shift() challengeType: 1 videoUrl: '' localeTitle: Удалите элементы из массива с помощью pop () и shift () --- ## Description
Оба unshift() push() и unshift() имеют соответствующие методы, которые являются почти функциональными противоположностями: pop() и shift() . Как вы уже догадались, вместо добавления pop() удаляет элемент из конца массива, а shift() удаляет элемент с самого начала. Ключевое различие между pop() и shift() и их кузенами push() и unshift() заключается в том, что ни один из методов не принимает параметры, и каждый из них позволяет только массиву изменять один элемент за раз. Давайте взглянем:
let greetings = ['whats up?', 'hello', 'see ya!'];

greetings.pop ();
// теперь равно ['whats up?', 'hello']

greetings.shift ();
// теперь равно ['hello']
Мы также можем вернуть значение удаляемого элемента любым из следующих способов:
let popped = greetings.pop ();
// возвращает 'hello'
// приветствия теперь равны []
## Instructions
Мы определили функцию popShift , которая принимает массив как аргумент и возвращает новый массив. Измените функцию, используя функции pop() и shift() , чтобы удалить первый и последний элементы массива аргументов и присвоить удаленные элементы соответствующим переменным, чтобы возвращаемый массив содержал их значения.
## Tests
```yml tests: - text: 'popShift(["challenge", "is", "not", "complete"]) должен возвращать ["challenge", "complete"]' testString: 'assert.deepEqual(popShift(["challenge", "is", "not", "complete"]), ["challenge", "complete"], "popShift(["challenge", "is", "not", "complete"]) should return ["challenge", "complete"]");' - text: Функция popShift должна использовать метод pop() testString: 'assert.notStrictEqual(popShift.toString().search(/\.pop\(/), -1, "The popShift function should utilize the pop() method");' - text: Функция popShift должна использовать метод shift() testString: 'assert.notStrictEqual(popShift.toString().search(/\.shift\(/), -1, "The popShift function should utilize the shift() method");' ```
## Challenge Seed
```js function popShift(arr) { let popped; // change this line let shifted; // change this line return [shifted, popped]; } // do not change code below this line console.log(popShift(['challenge', 'is', 'not', 'complete'])); ```
## Solution
```js // solution required ```