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