La propietat Array.prototype representa el prototipus del constructor Array.
Property attributes of Array.prototype |
|
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Descripció
Les instàncies de Array hereten de Array.prototype. Com tots els constructors, és possible modificar l'objecte prototipus del constructor per a afectar a totes les instàncies de Array.
Fet poc conegut: Array.prototype és ell mateix un Array:
Array.isArray(Array.prototype); // true
Propietats
Array.prototype.constructor- Especifica la funció que ha creat el prototipus de l'objecte.
Array.prototype.length- Reflecteix el nombre d'elements d'un array.
Mètodes
Mètodes Mutadors
Els mètodes següents modifiquen l'array:
Array.prototype.copyWithin()- Copia una seqüència d'elements de l'array dins l'array.
Array.prototype.fill()- Omple tots els elements d'un array d'una posició inicial a una posició final amb un valor estàtic.
Array.prototype.pop()- Elimina l'últim element d'un array i retorna aquest element.
Array.prototype.push()- Afegeix un o més elements al final de l'array i retorna el nou tamany de l'array.
Array.prototype.reverse()- Capgira l'ordre dels elements d'un array a l'array mateix (no crea cap array nou) — el primer element esdevé l'últim, l'últim esdevé el primer, etcètera.
Array.prototype.shift()- Elimina el primer element d'un array i retorna aquest element.
Array.prototype.sort()- Ordena els elements d'un array a l'array mateix i retorna l'array.
Array.prototype.splice()- Afegeix i/o elimina elements d'un array.
Array.prototype.unshift()- Afegeix un o més elements al pricipi d'un array i retorna el nou tamany de l'array.
Mètodes d'accés
Aquests mètodes no modifiquen l'array sino que retornen algun tipus de representació de l'array.
Array.prototype.concat()- Retorna un nou array format per la unió de l'array actual amb altres arrays o valors.
Array.prototype.includes()- Determina si un array inclou un element en concret, retornant
trueen cas afirmatiu ifalseen cas contrari. Array.prototype.join()- Uneix tots els elements d'un array en un string.
Array.prototype.slice()- Extrau una secció d'un array i la retorna en forma de nou array.
Array.prototype.toSource()- Retorna un literal d'array que representa l'array especificat; es pot emprar aquest valor per a crear un nou array. Sobreescriu el mètode
Object.prototype.toSource(). Array.prototype.toString()- Retorna un string que representa l'array i els seus elements. Sobreescriu el mètode
Object.prototype.toString(). Array.prototype.toLocaleString()- Retorna un string localitzat que representa l'array i els seus elements. Sobreescriu el mètode
Object.prototype.toLocaleString(). Array.prototype.indexOf()- Retorna la primera posició de l'array en la que es troba un element igual al valor especificat, o bé -1 si no es troba l'element dins l'array.
Array.prototype.lastIndexOf()- Retorna la última posició de l'array en la que es troba un element igual al valor especificat, o bé -1 si no es troba l'element dins l'array.
Mètodes d'iteració
Alguns mètodes accepten com a arguments funcions que es cridaran al processar l'array. Quan es criden aquests mètodes, s'emmagatzema el valor de length de l'array i qualsevol element afegit després a dins de la funció no serà visitat per la mateixa. Altres canvis a l'array (com ara canviar un valor o bé eliminar un element) poden afectar els resultats de l'operació si el mètode visita els elements que han canviat. Tot i que el comportament específic d'aquests mètodes en aquests casos està ben definit no es recomana recolzar-se en ell ja que pot confondre a altres programadors que llegeixin el vostre codi. En comptes de modificar l'array copieu-lo i modifiqueu la copia.
Array.prototype.forEach()- Crida una funció per a cada element de l'array.
Array.prototype.entries()- Retorna un nou objecte
Array Iteratorque conté parells clau-valor per a cada posició de l'array. Array.prototype.every()- Retorna
truesi tots els elements de l'array satisfan la funció proporcionada. Array.prototype.some()- Retorna
truesi al menys un dels elements de l'array satisfà la funció proporcionada. Array.prototype.filter()- Crea un nou array que conté tots eles elements de l'array des d'on es crida que facin que la funció que actua de filtre retorni
true. Array.prototype.find()- Retorna el valor trobat a l'array, si un element de l'array satisfà la funció proporcionada. En cas contrari retorna
undefined. Array.prototype.findIndex()- Retorna la posició on es troba l'element de l'array que satifcaci la funció proporcionada. Retorna
-1si cap element la satisfà. Array.prototype.keys()- Retorna un nou
Array Iteratorque conté les claus per a cada posició de l'array. Array.prototype.map()- Crea un nou array a partir dels resultats de cridar a la funció proporcionada per a cada element de l'array.
Array.prototype.reduce()- Executa una funció sobre un acumulador i cada valor de l'array (aplicats d'esquerra a dreta) amb l'objectiu de redudir els valors a un sol valor.
Array.prototype.reduceRight()- Executa una funció sobre un acumulador i cada valor de l'array (aplicats de dreta a esquerra) amb l'objectiu de redudir els valors a un sol valor.
Array.prototype.values()- Retorna un nou objecte
Array Iteratorque conté els valors de cada posició de l'array. Array.prototype[@@iterator]()- Retorna un nou objecte
Array Iteratorque conté els valors per a cada posició de l'array.
Mètodes genèrics
Molts dels mètodes de l'objecte Array de JavaScript estan dissenyats per a ser aplicats de manera genèrica a qualsevol objecte que tingui la propietat length i que disposin la seva informació en forma de noms de propietats numèrices (com ara array[5] per a accedir a l'element desat a la posició 5). Alguns mètodes, com ara join, només llegeixen la propietat length i les altes propietats numèriques. D'altres mètodes, com ara reverse, necessiten que tant les propietats numèriques com la propietat length siguin mutables; això implica que aquests mètodes no es poden fer servir sobre objectes com ara String, on la seva propietat length així com les propietats numèriques no es poden modificar.
Specificacions
| Especificacions | Estat | Comentaris |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | Standard | Definició inicial. |
| 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 |
Compatibilitat amb navegadors
| Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |