Array

  • Enlace amigable (slug) de la revisión: Referencia_de_JavaScript_1.5/Objetos_globales/Array
  • Título de la revisión: Array
  • Id de la revisión: 141594
  • Creada:
  • Creador: ADP13
  • ¿Es la revisión actual? No
  • Comentario no wording changes

Contenido de la revisión

 

Sumario

Objeto Núcleo

Permite trabajar con matrices.

Véase también: Novedades en JavaScript 1.6#Extras de Matrices y Novedades en JavaScript 1.7#Comprensión de matrices

Se crea con

El constructor del objeto Array:

new Array(longitudMatriz)
new Array(elemento0, elemento1, ..., elementoN)

Una matriz literal:

[elemento0, elemento1, ..., elementoN]

Parámetros

longitudMatriz 
Es la longitud inicial del arreglo. Puede acceder a este valor utilizando la propiedad de longitud {{ mediawiki.external('length') }}. Si el valor especificado no es un número, una matriz de longitud 1 es creado, con el primer elemento teniendo el valor especificado. La longitud máxima permitida para una matriz es de 4,294,967,295.
elementoN 
Una lista de valores para los elementos del arreglo. Cuando es especificada de esta manera, el arreglo es iniciado con los valores especificados como sus elementos y la propiedad de longitud del arreglo es configurada al número de argumentos.

Descripción

Una matriz es un conjunto ordenado de valores asociados con un único nombre de variable. Nótese que usted no debería utilizarlo como un arrego asociativo, utilice en su lugar un Objeto.

El siguiente ejemplo crea un objeto Array con una matriz literal, la matriz bebidas contiene tres elementos y posee una longitud de tres:

bebidas = ["Café", "Té", "Chocolate"];

Puede contruir una matriz denso de dos o más elementos comenzando con el índice 0 si define valores iniciales para todos los elementos. Una matriz denso es aquel en el cual cada elemento tiene un valor. El siguiente código crea una matriz denso con tres elementos:

miArreglo = new Array("Hola", miVariable, 3.14159);

Indexando un array

Indexe una matriz por sus números ordinales. Por ejemplo, se asume que define la siguiente matriz:

miMatriz = new Array("Viento", "Lluvia", "Fuego");

Puede referirse a los elementos de esta forma:

  • miMatriz{{ mediawiki.external("0") }} es el primer elemento
  • miMatriz{{ mediawiki.external("1") }} es el segundo elemento
  • miMatriz{{ mediawiki.external("2") }} es el tercer elemento

Especificando un sólo parámetro

Cuando especifica un único parámetro numérico con el constructor de un Array, especifica la longitud inicial de la matriz. El siguiente código crea una matriz de cinco elementos:

Métodoconstructor = new Array(5);

El comportamiento del constructor de un Array depende de si el único parámetro es un número.

  • Si el valor especificado es un número, el constructor convierte el número a un tipo entero de 32-bits sin signo {{ mediawiki.external('unsigned') }} y genera una matriz con la propiedad longitud (tamaño de la matriz) convirtiéndola en entero {{ mediawiki.external('integer') }}. La matriz inicialmente no contiene elementos, aún cuando se piense que se puede tener un valor de longitud distinto de cero.
  • Si el valor especificado no es un número, una matriz de longitud es creado, con el primer elemento teniendo el valor especificado.

El siguiente código crea una matriz de longitud 25, luego asigna los valores para los tres primeros elementos:

Tipomúsica = new Array(25);
Tipomúsica[0] = "R&B";
Tipomúsica[1] = "Blues";
Tipomúsica[2] = "Jazz";

Incrementar la longitud de una matriz indirectamente

La longitud de una matriz se incrementa si se asigna un valor a un elemento mayor que la longitud actual de una matriz. El siguiente código crea una matriz de longitud cero 0, luego asigna un valor al elemento 99. Esto cambia la longitudo de una matriz a 100.

colores = new Array();
colores[99] = "amarillopatito";

Creación de una matriz utilizando el resultado de una coincidencia encontrada

El resultado de una coincidencia {{ mediawiki.external('match') }} entre una expresión regular y una cadena puede crear una matriz. Esta matriz posee propiedades y elementos que proveen de información acerca de la coincidencia. una matriz es el valor retornado por la ejecución de una expresión regular {{ mediawiki.external('RegExp.exec') }}, cadena coincidente {{ mediawiki.external('String.match') }} y cadena remplazante {{ mediawiki.external('String.replace') }}. Para explicar como ayudan estas propiedades y elementos, véase el siguiente ejemplo y refiérase a la table a continuación:

// Coincidencia de una d seguida de uno o más b seguida de una d
// Recordar las coincidencias de b y la siguiente d
// Ignorar el resto del caso

miexpresiónRegular = /d(b+)(d)/i;
miMatriz  = miexpresiónRegular.exec("cdbBdbsbz");

Las propiedades y elementos retornados desde una coincidencia son las siguientes:

Propiedad/Elemento Descripción Ejemplo
input Una propiedad sólo de lectura que refleja la cadena original con la expresión regular que fue coincidente. cdbBdbsbz
index Una propiedad sólo de lectura que está basada en cero su índice de las cadenas coincidentes. 1
{{ mediawiki.external("0") }} Un elemento sólo de lectura que especifica los últimos caracteres coincidentes. dbBd
{{ mediawiki.external("1") }}, ...{{ mediawiki.external('n') }} Elemento sólo de lectura que especifica las cadenas coincidentes parentizadas, si son incluidas en la expresión regular. El número de las posibles cadenas parentizadas es ilimitado. {{ mediawiki.external("1") }}: bB
{{ mediawiki.external("2") }}: d

Propiedades

constructor
Especifica la función que crea un prototipo de Objeto.
index
Para una matriz creado por una coincidencia de una expresión regular, el índice basado en cero de una coindencia en una cadena.
input
Para una matriz de coincidencias creado por una expresión regular, refleja la cadena original con la coincidencias encontradas por la expresión regular.
length
Refleja el número de elementos en una matriz.
prototype
Permite la adición de propiedades a todos los objetos.

Métodos

Métodos Transformadores [Mutator]

Estos métodos modifican la matriz:

pop
Remueve el último elemento de una matriz y retorna este elemento.
push
Aañade uno o más elementos al final de una matriz y retorna la nueva longitud de una matriz.
reverse
Reversa el orden de los elementos de una matriz -- el primero llega a ser el último y el último llega aser el primero.
shift
Remueve el primer elemento de una matriz y retorna este elemento.
sort
Ordena los elementos de una matriz.
splice
Añade y/o remueve elemtnos de una matriz.
unshift
Añade uno o más elementos al comienzo de una matriz y retorna la nueva longitud de la matriz.

Métodos accesores [Accessor methods]


Estos métodos no modifican una matriz y retornan alguna representación de la matriz.

concat
Retorna un nuevo arreglo que comprende este arreglo unido con otra matriz(s) y/o valor(es).
join
Une todos los elementos de una matriz en una cadena.
slice
Extrae una sección de una matriz y retorna un nueva matriz.
toSource
Retorna una matriz literal representando el arreglo especificado; Puede utilizar este valor para crea un nueva matriz. Sobre escribe al método Object.toSource.
toString
Retorna una cadena representando la matriz y sus elementos. Sobre escribe el método Object.toString.
valueOf
Retorna el valor primitivo de una matriz. Sobre escribe el método {{ mediawiki.external('Referencia de JavaScript 1.5:Objetos globales:Object#valueOf|Object.valueOf') }}].
Los siguientes métodos han sido introducidos en JavaScript 1.6, para más detalles Novedades en JavaScript 1.6.
indexOf
Retorna el primer (el menor) índice de un elemento dentro de una matriz igual al valor especificado, o -1 si ninguno es encontrado.
lastIndexOf
Retorna el último (el mayor) índice de un elemento dentro de una matriz igual al valor especificado, o -1 si ninguno es encontrado.

Métodos de repetición

Los siguientes métodos han sido introducidos en JavaScript 1.6, para más detalles Novedades en JavaScript 1.6.

Varios métodos toman como argumentos funciones que son reinvocadas mientras se procesa la matriz. Cuando estos métodos son invocados, la longitud length del arreglo se muestrea y cualquier elemento añadido más allá de esta longitud desde el interior de la reinvocación no es visitado. Otros cambios a la matriz (configuración del un valor o la eliminación de un elemento) puede afectar los resultados de la operacion si el método visita luego el elemento cambiado. el comportamiento específico de estos métodos en tales casos no está siempe bien definido y no debería confiarse sobre ello.

filter
Crea una nueva matriz con todos los elementos de este arreglo para los cuales la funcion de filtrado provista retorna verdadero {{ mediawiki.external('true') }}.
forEach
Invoca a una funcion por cada elemento en la matriz.
every
Retorna verdadero{{ mediawiki.external('true') }} si cada elemento en esta matriz satisface la función de pruebas {{ mediawiki.external('testing') }} provista.
map
Crea una nueva matriz con los resultados de la invocación de una funcion provista sobre cda elemento en esta matriz.
some
Retorna verdadero {{ mediawiki.external('true') }} si al menos un elemento en esta matriz satisface la función de pruebas provista.

Métodos en general

Muchos métodos para el objeto Array de JavaScript están diseñados para ser aplicados generalmente a todos los objetos los cuales "se asemejan" a las matrices. Esto es, ellos pueden se utilizados sobre cualquier objeto los cuales tien una propiedad de longitud length y los cuales pueden ser útiles para ser accedidos utilizando nombres de propiedades numéricas (tal como con la indexación array{{ mediawiki.external("5") }}).

POR HACER: dar ejemplos con Array.prototype.forEach.call y añadir el método a un objeto como JavaArray o String.

Algunos métodos, tales como join, únicamente leen la longitud length y las propiedades numéricas del objeto son invocados. Otros, como reverse, requieren que las propiedades numéricas del objeto y la longitud length sean mutables; estos métodos pueden sin embargo no ser invocados sobre objetos como String, los cuales no permiten que su propiedad length o propiedades numéricas sintetizadas sean configuradas.

Los métodos que trabajan sobre cualquier matriz como objeto y no necesitan alterar las propiedades numéricas o la longitud length son:

Los métodos que alteran las propiedades numéricas o la longitud length de un objeto son invocados como:

Este ejemplo muestra como utilizar map sobre un objeto string para obtener una matriz de bytes codificados en representación de valores de caracteres ASCII:

var a = Array.prototype.map.call("¡Hola Mundo!", 
                                 function(x) { return x.charCodeAt(0); })
// y ahora igual a [72,101,108,108,111,32,87,111,114,108,100]

Ejemplos

Creando una Matriz

el siguiente ejemplo crea una matriz, msgArray, con una longitud de 0, luego asigna valores para msgArray{{ mediawiki.external("0") }} y msgArray{{ mediawiki.external("99") }}, cambiando la longitud del arreglo a 100.

var msgMatriz = new Array();
msgMatriz[0] = "Hola";
msgMatriz[99] = "mundo";
// La sentencia siguiene es verdadera,
// debido al elemento msgMatriz[99] definido.
if (msgMatriz.length == 100)
   myVar = "La longitud es 100.";

Creación de una matriz de dos dimensiones

El siguiente ejemplo crea una matriz bi-dimensional y asigna el resultado a myVar.

var myVar = "Prueba de una matriz multidimensional; ";
var nb = 4; 
var a = new Array(nb); //crea una matriz de longitud 4
for (var i = 0; i < nb; i++) {
   a[i] = new Array(nb); //define cada elemento como una matriz de longitud 4
   for (var j = 0; j < nb; j++) {
      a[i][j] = "[" + i + "," + j + "]"; //asigna a cada elemento de la matriz bidimensional 
                                         //los valores de i y j
   }
}
for (var i = 0; i < nb; i++) {
   var str = "Fila " + i + ":";
   for (var j = 0; j < nb; j++) {
      str += a[i][j]; //añade a la cadena el contenido del vector bidimensional
   }
   myVar += str + "; "; //añade a la cadena original el resultado obtenido por cada iteración
}

La siguiente cadena es asignada a myVar (las líneas separadas son usadas por legilibilidad):

Prueba de una matriz multidimensional;
Fila 0: [0,0][0,1][0,2][0,3];
Fila 1: [1,0][1,1][1,2][1,3];
Fila 2: [2,0][2,1][2,2][2,3];
Fila 3: [3,0][3,1][3,2][3,3];

También intente con nb = 8 y véase como se expande.

{{ AnteriorSiguiente("Referencia de JavaScript 1.5:Objetos globales", "Referencia de JavaScript 1.5:Objetos globales:Boolean") }}

{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/Global_Objects/Array", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Objets_globaux/Array", "ja": "ja/Core_JavaScript_1.5_Reference/Global_Objects/Array", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Obiekty/Array" } ) }}

Fuente de la revisión

<p> </p>
<h3 name="Sumario">Sumario</h3>
<p><strong>Objeto Núcleo</strong></p>
<p>Permite trabajar con matrices.</p>
<p>Véase también: <a href="/es/Novedades_en_JavaScript_1.6#Extras_de_Arreglos" title="es/Novedades_en_JavaScript_1.6#Extras_de_Arreglos">Novedades en JavaScript 1.6#Extras de Matrices</a> y <a href="/es/Novedades_en_JavaScript_1.7#Comprensi.C3.B3n_de_arrays" title="es/Novedades_en_JavaScript_1.7#Comprensi.C3.B3n_de_arrays">Novedades en JavaScript 1.7#Comprensión de matrices</a></p>
<h3 name="Se_crea_con">Se crea con</h3>
<p>El constructor del objeto <code>Array</code>:</p>
<pre class="eval">new Array(<em>longitudMatriz</em>)
new Array(<em>elemento0</em>, <em>elemento1</em>, ..., <em>elementoN</em>)
</pre>
<p>Una matriz literal:</p>
<pre class="eval">[<em>elemento0</em>, <em>elemento1</em>, ..., <em>elementoN</em>]
</pre>
<h3 name="Par.C3.A1metros">Parámetros</h3>
<dl> <dt> <code>longitudMatriz</code> </dt><dd> Es la longitud inicial del arreglo. Puede acceder a este valor utilizando la propiedad de longitud {{ mediawiki.external('length') }}. Si el valor especificado no es un número, una matriz de longitud 1 es creado, con el primer elemento teniendo el valor especificado. La longitud máxima permitida para una matriz es de 4,294,967,295. </dd></dl> <dl><dt> <code>elemento<em>N</em></code> </dt><dd> Una lista de valores para los elementos del arreglo. Cuando es especificada de esta manera, el arreglo es iniciado con los valores especificados como sus elementos y la propiedad de longitud del arreglo es configurada al número de argumentos. </dd></dl>
<h3 name="Descripci.C3.B3n">Descripción</h3>
<p>Una matriz es un conjunto ordenado de valores asociados con un único nombre de variable. Nótese que usted <a class="external" href="http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/">no debería utilizarlo como un arrego asociativo</a>, utilice en su lugar un <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Object" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Object">Objeto</a>.</p>
<p>El siguiente ejemplo crea un objeto Array con una matriz literal, la matriz bebidas contiene tres elementos y posee una longitud de tres:</p>
<pre class="eval">bebidas = ["Café", "Té", "Chocolate"];
</pre>
<p>Puede contruir una matriz denso de dos o más elementos comenzando con el índice 0 si define valores iniciales para todos los elementos. Una matriz denso es aquel en el cual cada elemento tiene un valor. El siguiente código crea una matriz denso con tres elementos:</p>
<pre class="eval">miArreglo = new Array("Hola", miVariable, 3.14159);
</pre>
<h4 name="Indexando_un_array">Indexando un array</h4>
<p>Indexe una matriz por sus números ordinales. Por ejemplo, se asume que define la siguiente matriz:</p>
<pre class="eval">miMatriz = new Array("Viento", "Lluvia", "Fuego");
</pre>
<p>Puede referirse a los elementos de esta forma:</p>
<ul> <li><code>miMatriz{{ mediawiki.external("0") }}</code> es el primer elemento</li> <li><code>miMatriz</code><code>{{ mediawiki.external("1") }}</code> es el segundo elemento</li> <li><code>miMatriz</code><code>{{ mediawiki.external("2") }}</code> es el tercer elemento</li>
</ul>
<h4 name="Especificando_un_s.C3.B3lo_par.C3.A1metro">Especificando un sólo parámetro</h4>
<p>Cuando especifica un único parámetro numérico con el constructor de un <code>Array</code>, especifica la longitud inicial de la matriz. El siguiente código crea una matriz de cinco elementos:</p>
<pre class="eval">Métodoconstructor = new Array(5);
</pre>
<p>El comportamiento del constructor de un <code>Array</code> depende de si el único parámetro es un número.</p>
<ul> <li>Si el valor especificado es un número, el constructor convierte el número a un tipo entero de 32-bits sin signo {{ mediawiki.external('unsigned') }} y genera una matriz con la propiedad longitud (tamaño de la matriz) convirtiéndola en entero {{ mediawiki.external('integer') }}. La matriz inicialmente no contiene elementos, aún cuando se piense que se puede tener un valor de longitud distinto de cero.</li>
</ul>
<ul> <li>Si el valor especificado no es un número, una matriz de longitud es creado, con el primer elemento teniendo el valor especificado.</li>
</ul>
<p>El siguiente código crea una matriz de longitud 25, luego asigna los valores para los tres primeros elementos:</p>
<pre class="eval">Tipomúsica = new Array(25);
Tipomúsica[0] = "R&amp;B";
Tipomúsica[1] = "Blues";
Tipomúsica[2] = "Jazz";
</pre>
<h4 name="Incrementar_la_longitud_de_un_arreglo_indirectamente">Incrementar la longitud de una matriz indirectamente</h4>
<p>La longitud de una matriz se incrementa si se asigna un valor a un elemento mayor que la longitud actual de una matriz. El siguiente código crea una matriz de longitud cero 0, luego asigna un valor al elemento 99. Esto cambia la longitudo de una matriz a 100.</p>
<pre class="eval">colores = new Array();
colores[99] = "amarillopatito";
</pre>
<h4 name="Creaci.C3.B3n_de_un_arreglo_utilizando_el_resultado_de_una_coincidencia_encontrada">Creación de una matriz utilizando el resultado de una coincidencia encontrada</h4>
<p>El resultado de una coincidencia {{ mediawiki.external('match') }} entre una expresión regular y una cadena puede crear una matriz. Esta matriz posee propiedades y elementos que proveen de información acerca de la coincidencia. una matriz es el valor retornado por la ejecución de una expresión regular {{ mediawiki.external('RegExp.exec') }}, cadena coincidente {{ mediawiki.external('String.match') }} y cadena remplazante {{ mediawiki.external('String.replace') }}. Para explicar como ayudan estas propiedades y elementos, véase el siguiente ejemplo y refiérase a la table a continuación:</p>
<pre class="eval">// Coincidencia de una d seguida de uno o más b seguida de una d
// Recordar las coincidencias de b y la siguiente d
// Ignorar el resto del caso

miexpresiónRegular = /d(b+)(d)/i;
miMatriz  = miexpresiónRegular.exec("cdbBdbsbz");
</pre>
<p>Las propiedades y elementos retornados desde una coincidencia son las siguientes:</p>
<table class="fullwidth-table"> <tbody> <tr> <td class="header">Propiedad/Elemento</td> <td class="header">Descripción</td> <td class="header">Ejemplo</td> </tr> <tr> <td><code>input</code></td> <td>Una propiedad sólo de lectura que refleja la cadena original con la expresión regular que fue coincidente.</td> <td>cdbBdbsbz</td> </tr> <tr> <td><code>index</code></td> <td>Una propiedad sólo de lectura que está basada en cero su índice de las cadenas coincidentes.</td> <td>1</td> </tr> <tr> <td><code>{{ mediawiki.external("0") }}</code></td> <td>Un elemento sólo de lectura que especifica los últimos caracteres coincidentes.</td> <td>dbBd</td> </tr> <tr> <td><code>{{ mediawiki.external("1") }}, ...{{ mediawiki.external('n') }}</code></td> <td>Elemento sólo de lectura que especifica las cadenas coincidentes parentizadas, si son incluidas en la expresión regular. El número de las posibles cadenas parentizadas es ilimitado.</td> <td>{{ mediawiki.external("1") }}: bB<br> {{ mediawiki.external("2") }}: d</td> </tr> </tbody>
</table>
<h3 name="Propiedades">Propiedades</h3>
<dl><dd><dl><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#constructor" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#constructor">constructor</a></dt><dd> Especifica la función que crea un prototipo de Objeto. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#index" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#index">index</a></dt><dd> Para una matriz creado por una coincidencia de una expresión regular, el índice basado en cero de una coindencia en una cadena. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#input" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#input">input</a></dt><dd> Para una matriz de coincidencias creado por una expresión regular, refleja la cadena original con la coincidencias encontradas por la expresión regular. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#length" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#length">length</a></dt><dd> Refleja el número de elementos en una matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#prototype" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#prototype">prototype</a></dt><dd> Permite la adición de propiedades a todos los objetos. </dd></dl> </dd></dl>
<h3 name="M.C3.A9todos">Métodos</h3>
<h4 name="M.C3.A9todos_Transformadores_.5BMutator.5D">Métodos Transformadores [Mutator]</h4>
<p>Estos métodos modifican la matriz:</p>
<dl><dd><dl><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#pop" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#pop">pop</a></dt><dd> Remueve el último elemento de una matriz y retorna este elemento. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#push" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#push">push</a></dt><dd> Aañade uno o más elementos al final de una matriz y retorna la nueva longitud de una matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse">reverse</a></dt><dd> Reversa el orden de los elementos de una matriz -- el primero llega a ser el último y el último llega aser el primero. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#shift" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#shift">shift</a></dt><dd> Remueve el primer elemento de una matriz y retorna este elemento. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#sort" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#sort">sort</a></dt><dd> Ordena los elementos de una matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#splice" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#splice">splice</a></dt><dd> Añade y/o remueve elemtnos de una matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#unshift" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#unshift">unshift</a></dt><dd> Añade uno o más elementos al comienzo de una matriz y retorna la nueva longitud de la matriz. </dd></dl> </dd></dl>
<h4 name="M.C3.A9todos_de_acceso_.5BAccessor_methods.5D">Métodos accesores [Accessor methods]</h4>
<p><span class="comment"><br>
</span>Estos métodos no modifican una matriz y retornan alguna representación de la matriz.</p>
<dl><dd><dl><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#concat" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#concat">concat</a></dt><dd> Retorna un nuevo arreglo que comprende este arreglo unido con otra matriz(s) y/o valor(es). </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join">join</a></dt><dd> Une todos los elementos de una matriz en una cadena. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#slice" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#slice">slice</a></dt><dd> Extrae una sección de una matriz y retorna un nueva matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toSource" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toSource">toSource</a></dt><dd> Retorna una matriz literal representando el arreglo especificado; Puede utilizar este valor para crea un nueva matriz. Sobre escribe al método Object.toSource. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toString" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toString">toString</a></dt><dd> Retorna una cadena representando la matriz y sus elementos. Sobre escribe el método <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Object#toString" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Object#toString">Object.toString</a>. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#valueOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#valueOf">valueOf</a></dt><dd> Retorna el valor primitivo de una matriz. Sobre escribe el método {{ mediawiki.external('Referencia de JavaScript 1.5:Objetos globales:Object#valueOf|Object.valueOf') }}]. </dd></dl> </dd></dl>
<div class="note">Los siguientes métodos han sido introducidos en JavaScript 1.6, para más detalles <a href="/es/Novedades_en_JavaScript_1.6" title="es/Novedades_en_JavaScript_1.6">Novedades en JavaScript 1.6</a>.</div>
<dl><dd><dl><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#indexOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#indexOf">indexOf</a></dt><dd> Retorna el primer (el menor) índice de un elemento dentro de una matriz igual al valor especificado, o -1 si ninguno es encontrado. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#lastIndexOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#lastIndexOf">lastIndexOf</a></dt><dd> Retorna el último (el mayor) índice de un elemento dentro de una matriz igual al valor especificado, o -1 si ninguno es encontrado. </dd></dl> </dd></dl>
<h4 name="M.C3.A9todos_de_repetici.C3.B3n">Métodos de repetición</h4>
<div class="note">Los siguientes métodos han sido introducidos en JavaScript 1.6, para más detalles <a href="/es/Novedades_en_JavaScript_1.6" title="es/Novedades_en_JavaScript_1.6">Novedades en JavaScript 1.6</a>.</div>
<p>Varios métodos toman como argumentos funciones que son reinvocadas mientras se procesa la matriz. Cuando estos métodos son invocados, la longitud <code>length</code> del arreglo se muestrea y cualquier elemento añadido más allá de esta longitud desde el interior de la reinvocación no es visitado. Otros cambios a la matriz (configuración del un valor o la eliminación de un elemento) puede afectar los resultados de la operacion si el método visita luego el elemento cambiado. el comportamiento específico de estos métodos en tales casos no está siempe bien definido y no debería confiarse sobre ello.</p>
<dl><dd><dl><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#filter" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#filter">filter</a></dt><dd> Crea una nueva matriz con todos los elementos de este arreglo para los cuales la funcion de filtrado provista retorna verdadero {{ mediawiki.external('true') }}. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#forEach" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#forEach">forEach</a></dt><dd> Invoca a una funcion por cada elemento en la matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#every" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#every">every</a></dt><dd> Retorna verdadero{{ mediawiki.external('true') }} si cada elemento en esta matriz satisface la función de pruebas {{ mediawiki.external('testing') }} provista. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map">map</a></dt><dd> Crea una nueva matriz con los resultados de la invocación de una funcion provista sobre cda elemento en esta matriz. </dd><dt> <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#some" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#some">some</a></dt><dd> Retorna verdadero {{ mediawiki.external('true') }} si al menos un elemento en esta matriz satisface la función de pruebas provista. </dd></dl> </dd></dl>
<h4 name="M.C3.A9todos_en_general">Métodos en general</h4>
<p>Muchos métodos para el objeto Array de JavaScript están diseñados para ser aplicados generalmente a todos los objetos los cuales "se asemejan" a las matrices. Esto es, ellos pueden se utilizados sobre cualquier objeto los cuales tien una propiedad de longitud <code>length</code> y los cuales pueden ser útiles para ser accedidos utilizando nombres de propiedades numéricas (tal como con la indexación <code>array{{ mediawiki.external("5") }}</code>).</p>
<div class="note">
<p>POR HACER: dar ejemplos con Array.prototype.forEach.call y añadir el método a un objeto como <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/JavaArray" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/JavaArray">JavaArray</a> o <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/String" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/String">String</a>.</p>
</div>
<p>Algunos métodos, tales como <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join">join</a>, únicamente leen la longitud <code>length</code> y las propiedades numéricas del objeto son invocados. Otros, como <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse">reverse</a>, requieren que las propiedades numéricas del objeto y la longitud <code>length</code> sean mutables; estos métodos pueden sin embargo no ser invocados sobre objetos como <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/String" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/String">String</a>, los cuales no permiten que su propiedad <code>length</code> o propiedades numéricas sintetizadas sean configuradas.</p>
<p>Los métodos que trabajan sobre cualquier matriz como objeto y <strong>no</strong> necesitan alterar las propiedades numéricas o la longitud <code>length</code> son:</p>
<ul> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#concat" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#concat">concat</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#every" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#every">every</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#filter" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#filter">filter</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#forEach" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#forEach">forEach</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#indexOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#indexOf">indexOf</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#join">join</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#lastIndexOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#lastIndexOf">lastIndexOf</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map">map</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#slice" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#slice">slice</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#some" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#some">some</a> (JS 1.6+)</li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toSource" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toSource">toSource</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toString" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#toString">toString</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#valueOf" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#valueOf">valueOf</a></li>
</ul>
<p>Los métodos que alteran las propiedades numéricas o la longitud <code>length</code> de un objeto son invocados como:</p>
<ul> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#pop" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#pop">pop</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#push" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#push">push</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#reverse">reverse</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#shift" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#shift">shift</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#sort" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#sort">sort</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#splice" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#splice">splice</a></li> <li><a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#unshift" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#unshift">unshift</a></li>
</ul>
<p>Este ejemplo muestra como utilizar <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/Array#map">map</a> sobre un objeto <a href="/es/Referencia_de_JavaScript_1.5/Objetos_globales/String" title="es/Referencia_de_JavaScript_1.5/Objetos_globales/String">string</a> para obtener una matriz de bytes codificados en representación de valores de caracteres ASCII:</p>
<pre>var a = Array.prototype.map.call("¡Hola Mundo!", 
                                 function(x) { return x.charCodeAt(0); })
// y ahora igual a [72,101,108,108,111,32,87,111,114,108,100]
</pre>
<h3 name="Ejemplos">Ejemplos</h3>
<h4 name="Creando_un_Arreglo">Creando una Matriz</h4>
<p>el siguiente ejemplo crea una matriz, <code>msgArray</code>, con una longitud de 0, luego asigna valores para <code>msgArray{{ mediawiki.external("0") }}</code> y <code>msgArray{{ mediawiki.external("99") }}</code>, cambiando la longitud del arreglo a 100.</p>
<pre class="eval">var msgMatriz = new Array();
msgMatriz[0] = "Hola";
msgMatriz[99] = "mundo";
// La sentencia siguiene es verdadera,
// debido al elemento msgMatriz[99] definido.
if (msgMatriz.length == 100)
   myVar = "La longitud es 100.";
</pre>
<h4 name="Creaci.C3.B3n_de_un_arreglo_de_dos_dimensiones">Creación de una matriz de dos dimensiones</h4>
<p>El siguiente ejemplo crea una matriz bi-dimensional y asigna el resultado a <code>myVar</code>.</p>
<pre class="eval">var myVar = "Prueba de una matriz multidimensional; ";
var nb = 4; 
var a = new Array(nb); //crea una matriz de longitud 4
for (var i = 0; i &lt; nb; i++) {
   a[i] = new Array(nb); //define cada elemento como una matriz de longitud 4
   for (var j = 0; j &lt; nb; j++) {
      a[i][j] = "[" + i + "," + j + "]"; //asigna a cada elemento de la matriz bidimensional 
                                         //los valores de i y j
   }
}
for (var i = 0; i &lt; nb; i++) {
   var str = "Fila " + i + ":";
   for (var j = 0; j &lt; nb; j++) {
      str += a[i][j]; //añade a la cadena el contenido del vector bidimensional
   }
   myVar += str + "; "; //añade a la cadena original el resultado obtenido por cada iteración
}
</pre>
<p>La siguiente cadena es asignada a <code>myVar</code> (las líneas separadas son usadas por legilibilidad):</p>
<pre class="eval">Prueba de una matriz multidimensional;
Fila 0: [0,0][0,1][0,2][0,3];
Fila 1: [1,0][1,1][1,2][1,3];
Fila 2: [2,0][2,1][2,2][2,3];
Fila 3: [3,0][3,1][3,2][3,3];
</pre>
<p>También intente con <code>nb = 8</code> y véase como se expande.</p>
<p>{{ AnteriorSiguiente("Referencia de JavaScript 1.5:Objetos globales", "Referencia de JavaScript 1.5:Objetos globales:Boolean") }}</p>
<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/Global_Objects/Array", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Objets_globaux/Array", "ja": "ja/Core_JavaScript_1.5_Reference/Global_Objects/Array", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Obiekty/Array" } ) }}</p>
Revertir a esta revisión