Resumen
La propiedad Array.prototype
representa el prototipo para el constructor de Array
.
Atributos de la propiedad Array.prototype |
|
---|---|
Sobrescribir | No |
Numerable | No |
Configurable | No |
Descripción
Las instancias de Array
heredan de Array.prototype
. Al igual que con todos los constructores, tú puedes cambiar el prototipo del constructor del objeto para hacer cambios en todas las instancias de Array
.
Un hecho poco conocido: Array.prototype
es, en sí mismo, un Array
:
Array.isArray(Array.prototype); // true
Propiedades
Array.prototype.constructor
- Especifica la función que crea el prototipo de un objeto.
Array.prototype.length
- Refleja el número de elementos en un array.
Métodos
Métodos de modificación
Estos métodos modifican el array:
Array.prototype.copyWithin()
- Copia una secuencia de elementos dentro del array.
Array.prototype.fill()
- Rellena todos los elementos de un array desde un índice de inicio hasta un índice de fin con un valor determinado.
Array.prototype.pop()
- Elimina el último elemento de un array y devuelve dicho elemento.
Array.prototype.push()
- Añade uno o más elementos al final de un array y devuelve la nueva longitud del array.
Array.prototype.reverse()
- Invierte el orden de los elementos de un array — el primero será el último y el último será el primero.
Array.prototype.shift()
- Elimina el primer elemento de un array y devuelve dicho elemento.
Array.prototype.sort()
- Ordena los elementos de un array y devuelve el array.
Array.prototype.splice()
- Añade o elimina elementos de un array.
Array.prototype.unshift()
- Añade uno o más elementos al principio del array y devuelve la nueva longitud del array.
Métodos de consulta
Estos métodos no modifican el array y devuelven alguna representación del array.
Array.prototype.concat()
- Devuelve un nuevo array compuesto por este array unido con otro(s) array(s) y/o valor(es).
Array.prototype.includes()
- Determina si un array contiene cierto elemento, devolviendo
true
ofalse
apropiadamente. Array.prototype.join()
- Une todos los elementos de un array en una cadena de texto.
Array.prototype.slice()
- Extrae una sección de un array y devuelve un nuevo array.
Array.prototype.toSource()
- Devuelve el array literal que representa al propio array especificado; puedes usar este valor para crear un nuevo array. Reemplaza al método
Object.prototype.toSource()
. Array.prototype.toString()
- Devuelve una cadena de texto que representa el array y sus elementos. Reemplaza el método
Object.prototype.toString()
. Array.prototype.toLocaleString()
- Devuelve una cadena de texto localizada que representa el array y sus elementos. Reemplaza el método
Object.prototype.toLocaleString()
. Array.prototype.indexOf()
- Devuelve el primer (menor) índice de un elemento dentro del array que sea igual al valor especificado, o -1 si no contiene dicho valor.
Array.prototype.lastIndexOf()
- Devuelve el último (mayor) índice de un elemento dentro del array que sea igual al valor especificado, o -1 si no contiene dicho valor.
Métodos de iteración
Muchos métodos toman como argumentos funciones que son llamadas mientras se procesa el array. Cuando estos métodos son llamados, la longitud (length
) del array es muestreado, y cualquier elemento añadido por encima de esta longitud dentro de la función (callback) no es visitado. Otros cambios sobre el array (establecer el valor o eliminar un elemento) podría afectar el resultado de la operación si el método visita el elemento después. Mientras que el comportamiento especifico de estos métodos en muchos casos es bien definido, no deberías delegar sobre eso con la finalidad de no confundir a otros que podrían leer tu código. Si debes modificar el array, copialo en un nuevo array en su lugar.
Array.prototype.forEach()
- Llama a una función para cada elemento del array.
Array.prototype.entries()
- Devuelve un nuevo objeto
Array Iterator
que contiene los pares clave/valor para cada índice en el array. Array.prototype.every()
- Devuelve true si cada elemento en este array satisface la función de testeo proporcionada.
Array.prototype.some()
- Devuelve true si al menos un elemento en este array satisface la función de testeo proporcionada.
Array.prototype.filter()
- Crea un nuevo array con todos los elementos de este array para los cuales la función de filtrado proporcionada devuelve true.
Array.prototype.find()
- Devuelve el elemento hallado en el array si un elemento en el array satisface la función de testeo proporcionada, o
undefined
si no se halla ninguno. Array.prototype.findIndex()
- Devuelve el índice hallado en el array si un elemento en el array satisface la función de testeo proporcionada, o -1 si no se halla ninguno.
Array.prototype.keys()
- Devuelve un nuevo
Array Iterator
que contiene las claves para cada índice en el array. Array.prototype.map()
- Crea un nuevo array con el resultado de llamar a la función proporcionada sobre cada elemento de este array.
Array.prototype.reduce()
- Aplica una función que recibe un acumulador y cada valor del array (de izquierda a derecha) para reducirlo a un único valor.
Array.prototype.reduceRight()
- Aplica una función que recibe un acumulador y cada valor del array (de derecha a izquierda) para reducirlo a un único valor.
Array.prototype.values()
- Devuelve un nuevo objeto
Array Iterator
que contiene los valores para cada índice en el array. Array.prototype[@@iterator]()
- Devuelve un nuevo objeto
Array Iterator
que contiene los valores para cada índice en el array.
Métodos genéricos
Muchos métodos en el objeto Javascript Array son diseñados para ser generalmente llamados para todos los objetos que "parecen" Arrays. Es decir, pueden ser usados sobre cualquier objeto que tenga una propiedad longitud (length
), y puedan ser accedidos usando nombres de propiedades numéricos (como con la indexación array[5]). Algunos métodos, tales como join
, sólo leen la longitud y propiedades numéricas del objeto sobre el cual son llamados. Otros, como reverse
, requieren que las propiedades numéricas del objeto y la longitud sean mutables; estos métodos, por tanto, no pueden ser llamados sobre objetos como String
, los cuales no permiten que su longitud o propiedades numéricas sintetizadas sean establecidas.
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 1st Edition. | Standard | Definición 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 |
Compatibilidad en navegadores
Caracteristicas | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Caracteristicas | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |