--- title: Array.prototype.unshift() slug: Web/JavaScript/Reference/Global_Objects/Array/unshift tags: - Масив - метод - прототип translation_of: Web/JavaScript/Reference/Global_Objects/Array/unshift ---
Метод unshift()
додає один або декілька елементів на початок масиву і повертає новий розмір масиву.
{{EmbedInteractiveExample("pages/js/array-unshift.html")}}
arr.unshift([element1[, ...[, elementN]]])
elementN
Нова властивість {{jsxref("Array.length", "length")}} об'єкту, для якого було викликано функцію.
Метод unshift
вставляє задані значення в початок масиву.
Метод unshift
є навмисно загальним; він може бути {{jsxref("Function.call", "викликаний", "", 1)}} або {{jsxref("Function.apply", "застосований", "", 1)}} у об'єктах, схожих на масиви. Об'єкти, які не мають властивості length
, що відображає останню з серії послідовних числових властивостей, що починаються з нуля, можуть поводитися непередбачувано.
Будь ласка, зауважте, якщо у параметри передається більше одного значення, вони всі вставляються на початку об'єкта, саме в тому порядку, в якому були передані у параметри. Отже, виклик unshift з n аргументів за один раз, або виклик n разів з 1 аргументом (наприклад, у циклі), не дадуть однаковий результат. Наприклад:
let arr = [4, 5, 6]; arr.unshift(1, 2, 3); console.log(arr); // [1, 2, 3, 4, 5, 6] arr = [4, 5, 6]; // скидаємо значення масиву arr.unshift(1); arr.unshift(2); arr.unshift(3); console.log(arr); // [3, 2, 1, 4, 5, 6]
var 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 ]
Назва специфікації | Статус | Коментарій |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Початкове визначення. Реалізовано в JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.4.4.13', 'Array.prototype.unshift')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.unshift', 'Array.prototype.unshift')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-array.prototype.unshift', 'Array.prototype.unshift')}} | {{Spec2('ESDraft')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Array.unshift")}}