JavaScript метод shift()
Определение и применение
JavaScript метод shift() позволяет удалить первый элемент из массива (элемент с индексом
0) и возвратить его значение. Этот метод изменяет длину массива. Работу метода показывает пример
«Как удалить первый элемент массива».
Для того, чтобы удалить последний элемент из массива и возвратить его значение вы можете
воспользоваться методом
pop().
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
shift | 1 | 12 | 1 | 4 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 1 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
array.shift();Спецификация
ECMAScript: Array.prototype.shift.
Значения параметров
Параметров нет.
Возвращаемое значение
Значение удалённого первого элемента или undefined для пустого массива. Остальные элементы сдвигаются к
началу, длина уменьшается.
Примеры, попробуйте сами
Как удалить первый элемент массива
Нажмите , затем кнопку удаления в результате. Сравните первый удалённый элемент и оставшийся массив.
index.html
<button type="button" data-migration-click-0="">Удалить первый элемент</button>
<div id="test"></div>
<p id="return-value" aria-live="polite"></p>
main.js
var animals = ['Crocodile', 'Elephant', 'Tiger']
document.getElementById('test').textContent = animals.join(', ')
function myFunc() {
var removed = animals.shift()
document.getElementById('test').textContent = animals.join(', ')
document.getElementById('return-value').textContent = 'Удалено: ' + String(removed)
}
document.querySelector('[data-migration-click-0]').addEventListener('click', myFunc)
Нажмите , чтобы запустить пример.
В этом примере мы регистрируем обработчик события click, зарегистрированным через
addEventListener() (вместо атрибута
onclick) и при нажатии на кнопку (HTML элемент
<button>) вызываем функцию myFunc(), которая с использованием JavaScript метода
shift() удаляет первый элемент из массива, и с помощью свойства
textContent добавляет новое содержимое массива в элемент
<div>
с глобальным атрибутом
id
test.
Обратите внимание, что метод удаляет именно элемент с индексом 0:
Как shift() обрабатывает пустые позиции
Измените индекс элемента и запустите код. Сравните длину, наличие индексов и возвращаемое значение каждого shift().
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
const values = []
values[2] = 2
console.log('Исходная длина:', values.length)
console.log('Есть индекс 0:', 0 in values)
while (values.length > 0) {
console.log('Удалено:', values.shift(), 'Осталось:', values.length)
}
console.log('Из пустого массива:', values.shift())