shift() в JavaScript
- Что делает shift()
- Синтаксис
- Возврат удаленного элемента
- Исходный массив меняется
- Пустой массив
- shift() и length
- Где использовать
- Итого
shift() удаляет первый элемент массива и возвращает этот элемент.
let fruits = ['apple', 'orange', 'banana'];
let firstFruit = fruits.shift();
console.log(firstFruit);
console.log(fruits);
Результат:
apple
['orange', 'banana']
Что делает shift()
Метод shift() работает с началом массива. Он удаляет элемент с индексом 0, а остальные элементы сдвигаются влево.
let numbers = [10, 20, 30];
let removed = numbers.shift();
console.log(removed); // 10
console.log(numbers); // [20, 30]
После удаления число 20 становится первым элементом массива.
Синтаксис
shift() вызывается через точку после имени массива.
array.shift()
Метод не принимает аргументы. Он всегда удаляет только первый элемент.
let users = ['Анна', 'Олег', 'Мария'];
users.shift();
console.log(users);
Результат:
['Олег', 'Мария']
Возврат удаленного элемента
Результат работы shift() можно сохранить в переменную.
let queue = ['Анна', 'Олег', 'Мария'];
let firstUser = queue.shift();
console.log(firstUser);
Результат:
Анна
Если удаленный элемент не нужен, можно просто вызвать метод.
let queue = ['Анна', 'Олег', 'Мария'];
queue.shift();
Исходный массив меняется
shift() меняет исходный массив. Он не создает новый массив без первого элемента.
let colors = ['red', 'green', 'blue'];
colors.shift();
console.log(colors);
Результат:
['green', 'blue']
Если старый массив нужно сохранить, сначала сделайте копию.
let colors = ['red', 'green', 'blue'];
let copy = [...colors];
copy.shift();
console.log(colors); // ['red', 'green', 'blue']
console.log(copy); // ['green', 'blue']
Пустой массив
Если вызвать shift() у пустого массива, ошибки не будет. Метод вернет undefined.
let numbers = [];
let result = numbers.shift();
console.log(result);
console.log(numbers);
Результат:
undefined
[]
shift() и length
После удаления элемента длина массива уменьшается на 1.
let fruits = ['apple', 'orange', 'banana'];
console.log(fruits.length); // 3
fruits.shift();
console.log(fruits.length); // 2
Если массив уже пустой, длина останется 0.
let fruits = [];
fruits.shift();
console.log(fruits.length); // 0
Где использовать
shift() часто используют, когда массив работает как очередь: первым пришел, первым ушел.
let queue = ['Анна', 'Олег', 'Мария'];
let currentUser = queue.shift();
console.log(currentUser); // Анна
console.log(queue); // ['Олег', 'Мария']
Для небольших массивов это понятный и удобный способ. Если массив очень большой и удаление из начала происходит часто, лучше отдельно подумать о структуре данных, потому что после shift() элементам нужно сдвинуться.
Итого
shift() удаляет первый элемент массива.
array.shift()вызывается без аргументов.- Метод возвращает удаленный элемент.
- Исходный массив после вызова меняется.
- Остальные элементы сдвигаются к началу массива.
- У пустого массива
shift()возвращаетundefined.