Array.prototype

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() (en-US) This is an experimental API that should not be used in production code.
Copia una seqüència d'elements de l'array dins l'array.
Array.prototype.fill() This is an experimental API that should not be used in production code.
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() (en-US)
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() (en-US)
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() (en-US)
Retorna un nou array format per la unió de l'array actual amb altres arrays o valors.
Array.prototype.includes() This is an experimental API that should not be used in production code.
Determina si un array inclou un element en concret, retornant true en cas afirmatiu i false 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() (en-US) This API has not been standardized.
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() (en-US).
Array.prototype.toString() (en-US)
Retorna un string que representa l'array i els seus elements. Sobreescriu el mètode Object.prototype.toString() (en-US).
Array.prototype.toLocaleString() (en-US)
Retorna un string localitzat que representa l'array i els seus elements. Sobreescriu el mètode Object.prototype.toLocaleString() (en-US).
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() This is an experimental API that should not be used in production code.
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() This is an experimental API that should not be used in production code.
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() This is an experimental API that should not be used in production code.
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() This is an experimental API that should not be used in production code.
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() (en-US)
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() (en-US) This is an experimental API that should not be used in production code.
Retorna un nou objecte Array Iterator que conté els valors de cada posició de l'array.
Array.prototype[@@iterator]() (en-US) This is an experimental API that should not be used in production code.
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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)
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)

Vegeu també