JS метод Array.unshift()

Опис

Метод unshift() дозволяє додавати один або декілька елементів на початок масиву. Це дещо відрізняє його від методу Array.prototype.push(), який також додає елементи, але розміщує їх в кінці масиву.

Зверніть увагу: якщо ви передаєте кілька елементів одразу, вони будуть розміщені на початку масиву в порядку, в якому вони були передані. Це означає, що використання unshift() з n аргументами одночасно відзначається від n послідовних викликів цього методу з 1 аргументом, наприклад, виконаних у циклі.

Приклад:

let fruits = ["apple", "banana"];
fruits.unshift("orange", "lemon");
console.log(fruits); // Output: ["orange", "lemon", "apple", "banana"]

У цьому прикладі метод unshift() додає orange і lemon на початок масиву, розширюючи його до чотирьох елементів. Зверніть увагу на порядок елементів у результуючому масиві.

Порада:

Метод unshift() змінює вихідний масив і повертає нову довжину масиву. Використовуйте повернене значення, якщо вам потрібно знати, скільки елементів здійснено додано.

Нотатка:

Важливо враховувати, що при додаванні багатьох елементів за один раз застосовується порядок, в якому вони передаються у методі unshift(). Наприклад, якщо ви викликаєте array.unshift('a', 'b', 'c'), 'a' буде першим елементом, 'b' - другим, а 'c' - третім.

Нотатка:

Метод unshift() є універсальним. Він очікує, що this має властивість length та властивості з цілочисельними індексами.

Нотатка:

Хоча рядки також подібні до масивів, цей метод не підходить для їх застосування, оскільки рядки є незмінними.

Синтаксис

unshift()
unshift(element0)
unshift(element0, element1)
unshift(element0, element1, /* … ,*/ elementN)

Параметри

*elementN

Елементи, які треба додати на початок масиву.

Return

Переглядачі

Переглядач

1

1

1

4

12

Переглядач

4.4

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей приклад показує, як метод unshift() можна використовувати для додавання нових елементів на початок масиву. Нові елементи генеруються випадковим чином.

Використання unshift().

const arr = [1, 2];

arr.unshift(0); // результат виклику - 3, що є новою довжиною масиву
// arr стає [0, 1, 2]

arr.unshift(-2, -1); // нова довжина масиву - 5
// arr стає [-2, -1, 0, 1, 2]

arr.unshift([-4, -3]); // нова довжина масиву - 6
// arr стає [[-4, -3], -2, -1, 0, 1, 2]

arr.unshift([-7, -6], [-5]); // нова довжина масиву - 8
// arr стає [ [-7, -6], [-5], [-4, -3], -2, -1, 0, 1, 2 ]

Виклик unshift() на не-масивних об'єктах.

const arrayLike = {
  length: 3,
  unrelated: "foo",
  2: 4,
};
Array.prototype.unshift.call(arrayLike, 1, 2);
console.log(arrayLike);
// { '0': 1, '1': 2, '4': 4, length: 5, unrelated: 'foo' }

const plainObj = {};
// Немає властивості length, тому довжина дорівнює 0
Array.prototype.unshift.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }