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
true
en cas afirmatiu ifalse
en 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 Iterator
que conté parells clau-valor per a cada posició de l'array. Array.prototype.every()
- Retorna
true
si tots els elements de l'array satisfan la funció proporcionada. Array.prototype.some()
- Retorna
true
si 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
-1
si cap element la satisfà. Array.prototype.keys()
- Retorna un nou
Array Iterator
que 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 Iterator
que conté els valors de cada posició de l'array. Array.prototype[@@iterator]()
- Retorna un nou objecte
Array Iterator
que 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) |