Ця стаття потребує технічного огляду. Як ви можете допомогти.
Ця стаття потребує редакційного огляду. Як ви можете допомогти.
Властивість Array.prototype
представляє прототип для конструктора Array
.
Property attributes of Array.prototype |
|
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
Опис
Екземпляри Array
успадковуються від Array.prototype
. Як і з рештою конструкторів, ви можете змінити прототип конструктора об'єкта, щоб внести зміни у всі екземпляри Array
.
Маловідомий факт: Array.prototype
сам є екземпляром Array
:
Array.isArray(Array.prototype); // true
Властивості
Array.prototype.constructor
- Визначає функцію, що створює прототип об'єкта.
Array.prototype.length
- Відображає кількість елементів в масиві.
Array.prototype[@@unscopables]
- Символ, який містить назви властивостей, які повинні бути виключені з області зв'язування
with
.
Методи
Методи модифікації
Ці методи модифікують масив:
Array.prototype.copyWithin()
- Копіює послідовність елементів масиву всередині масиву.
Array.prototype.fill()
- Заповнює всі елементи масиву від початкового індексу до кінцевого статичними значеннями.
Array.prototype.pop()
- Видаляє останній елемент масиву та повертає цей елемент.
Array.prototype.push()
- Додає один чи більше елементів в кінцівку масиву та повертає нову довжину масиву.
Array.prototype.reverse()
- Змінює на протилежний порядок елементів масиву, викорустовуючи той самий масив — перший стає останнім, а останній - першим.
Array.prototype.shift()
- Видаляє перший елемент з масиву та повертає цей елемент.
Array.prototype.sort()
- Сортує елементи всередині масиву, та повертає цей масив.
Array.prototype.splice()
- Добавляє і/або видаляє елементи з масиву.
Array.prototype.unshift()
- Добавляє один або більше елементів у початок масиву та пофертає нову довжину масиву.
Методи доступу
Ці методи не модифікують масив, а повертають якесь його представлення.
Array.prototype.concat()
- Повертає новий масив, який складається з циого масиву, об'єднаного з іншим(и) масив(ами) та/або іншими значеннями.
Array.prototype.includes()
- Визначає, чи масив містить певний елемент, повертаючи, відповідно,
true
абоfalse
. Array.prototype.join()
- Об'єднує всі елементи масиву у строку.
Array.prototype.slice()
- Вибирає частину масиву та повертає новий масив.
Array.prototype.toSource()
- Повертає строкове представлення зазначеного масиву; ви можете використовувати це значення для створення нового масиву. Перевизначає метод
Object.prototype.toSource()
. Array.prototype.toString()
- Повертає строку, яка представляє масив та його елементи. Перевизначає метод
Object.prototype.toString()
. Array.prototype.toLocaleString()
- Повертає локалізовану строку, яка представляє масив та його елементи. Перевизначає метод
Object.prototype.toLocaleString()
. Array.prototype.indexOf()
- Повертає перший (найменший) індекс елементу в масиві, який дорівнює вказаному значенню або -1, якщо жодного не знайдено.
Array.prototype.lastIndexOf()
- Повертає останній (найбільший) індекс елементу в масиві, який дорівнює вказаному значенню або -1, якщо жодного не знайдено.
Методи повторення
Декілька методів приймають функції у якості аргументів, щоб вони були вікликані у процесі обробки масиву. Коли ці методи викликаються, береться значення властивості length
, та будь-які інші елементи, додані понад цієї довжини з функції зворотнього виклику не відвідуються. Інші зміни до масиву (встановлення значення або видалення елементу) можуть впливати на результат операції, якщо згодом метод відвідує зміненний елемент. Хоча певна поведінка цих методів у таких випадках чітко визначена, ви не повинні на це покладатися, щоб не плутати читачів вашого коду. Замість того, щоб змінювати масив масив, скопіюйте його у новий масив.
Array.prototype.forEach()
- Викликає функцію для кожного елементу масиву.
Array.prototype.entries()
- Повертає новий екземпляр об'єкта
Array Iterator
, який містить пари значень ключ/значення для кожного індекса масиву. Array.prototype.every()
- Повертає
true
, якщо кожен елемент у цьому масиві задовольняє вимогам функції, що перевіряє. Array.prototype.some()
- Повертає
true
, якщо принаймні один елемент у цьому масиві задовольняє вимогам функції, що перевіряє. Array.prototype.filter()
- Створює новий масив зі всіма елементами цього масиву, для яких запроваджена функція фільтрації повертае
true
. Array.prototype.find()
- Повертає знайдене у масиві значення, якщо елемент у цьому масиві задовольняє вимогам функції, що перевіряє або
undefined
у іншому випадку. Array.prototype.findIndex()
- Повертає знайдений у масиві індекс, якщо елемент у цьому масиві задовольняє вимогам функції, що перевіряє або
-1
у іншому випадку. Array.prototype.keys()
- Повертає новий екземпляр об'єкта
Array Iterator
, який містить ключі для кожного індекса масиву. Array.prototype.map()
- Створює новий масив з результатами виклику на кожному елементі масиву наданої функції.
Array.prototype.reduce()
- Застосовує функцію над акумулятором та кожним значенням масиву (зліва направо), щоб перетворити його на єдине значення.
Array.prototype.reduceRight()
- Застосовує функцію над акумулятором та кожним значенням масиву (справа наліво), щоб перетворити його на єдине значення.
Array.prototype.values()
- Повертає новий екземпляр об'єкта
Array Iterator
, який містить значення для кожного індекса масиву. Array.prototype[@@iterator]()
- Повертає новий екземпляр об'єкта
Array Iterator
, який містить значення для кожного індекса масиву.
Загальні методи (нестандартні)
Багато методів JavaScript-масиву спроектовані таким чином, щоб їх можна було застосувати на всіх об'ектах, які "виглядають як" масиви. Таким чином, вони можуть бути використані на будь-якому об'екті, у якого є властивість length
, а також ті об'єкти, доступ до яких можна отримати завдяки числовим назвам властивостей (як з індексацією масиву array[5]
). Деякі методи, такі як join
, мають доступ тільки до length
та числовим властивостям об'єкту, на якому вони визвані. Іші, такі як reverse
, вимагають, щоб числові властивості об'єкту та length
були доступні до редагування; тому ці методи не можуть бути викликані на таких об'єктах як String
, який не дозволяє редагувати його властивість length
або синтезовані числові властивості.
Специфікації
Специфікація | Статус | Коментарі |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Первісне визначення |
ECMAScript 5.1 (ECMA-262) The definition of 'Array.prototype' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Array.prototype' in that specification. |
Standard | Додані методи copyWithin() , fill() , entries() , keys() , values() , find() , findIndex(). |
ECMAScript 2017 Draft (ECMA-262) The definition of 'Array.prototype' in that specification. |
Draft | Доданий метод includes() . |
Сумісність з браузерами
Можливість | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базова підтримка | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Можливість | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базова підтримка | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |