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'
// приветствия теперь равны []
popShift
, которая принимает массив как аргумент и возвращает новый массив. Измените функцию, используя функции pop()
и shift()
, чтобы удалить первый и последний элементы массива аргументов и присвоить удаленные элементы соответствующим переменным, чтобы возвращаемый массив содержал их значения. 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");'
```