Manipulación de Arreglos en JavaScript

Para inicializar un arreglo con elementos:

var colores = ['azul', 'verde'];

Acceder a elementos mediante su posición:

var inicial = colores[0];
var final = colores[colores.length - 1];

Recorrer cada elemento del arreglo:

colores.forEach(function(valor, indice, arreglo) {
    console.log(valor, indice);
});

Incorporar un nuevo elemento al final:

var nuevaLongitud = colores.push('rojo');
// nuevaLongitud: 3; colores: ["azul", "verde", "rojo"]

Extraer el último elemento:

var ultimo = colores.pop(); // Elimina "rojo"
// ultimo: "rojo"; colores: ["azul", "verde"]

Remover el primer elemento:

var primero = colores.shift(); // Quita "azul"
// primero: "azul"; colores: ["verde"]

Agregar un elemento al inicio:

var nuevaLong = colores.unshift('amarillo'); // Inserta al frente
// ["amarillo", "verde"]

Determinar la posición de un elemento específico:

colores.push('naranja');
// ["amarillo", "verde", "naranja"]

var posicion = colores.indexOf('verde');
// 1

Eliminar un elemento según su índice:

var elementoEliminado = colores.splice(posicion, 1);
// ["amarillo", "naranja"]

Retirar múltiples elementos a partir de un índice:

var frutas = ['manzana', 'pera', 'uva', 'sandía'];
console.log(frutas); 
// ["manzana", "pera", "uva", "sandía"]

var inicio = 1, cantidad = 2;

var elementosRetirados = frutas.splice(inicio, cantidad);
// 'cantidad' indica cuántos elementos eliminar desde 'inicio'

console.log(frutas); 
// ["manzana", "sandía"] (el arreglo original se modifica)

console.log(elementosRetirados); 
// ["pera", "uva"]

Generar una copia superficial del arreglo:

var copia = colores.slice(); // Copia no profunda
// ["amarillo", "naranja"]

La numeración de índices comienza en 0, y el último índice es igual a la longitud meenos uno. Si se usa un índice no válido, no ocurre un error, sino que se obtiene undefined.

var datos = ['primer elemento', 'segundo elemento', 'último elemento'];
console.log(datos[0]);              // Imprime 'primer elemento'
console.log(datos[1]);              // Imprime 'segundo elemento'
console.log(datos[datos.length - 1]); // Imprime 'último elemento'

No se pueden usar notaciones de punto para propiedades que comienzan con números.

var años = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
console.log(años.0);   // Error de sintaxis
console.log(años[0]);  // Correcto
renderizador.3d.texturizarModelo(modelo, 'personaje.png');     // Error de sintaxis
renderizador['3d'].texturizarModelo(modelo, 'personaje.png');  // Correcto

La propiedad length y su relación con los índices:

var vegetales = [];
vegetales.push('zanahoria', 'cebolla', 'pimiento');

console.log(vegetales.length); // 3
vegetales[5] = 'tomate';
console.log(vegetales[5]); // 'tomate'
console.log(Object.keys(vegetales));  // ['0', '1', '2', '5']
console.log(vegetales.length); // 6
vegetales.length = 10;
console.log(Object.keys(vegetales)); // ['0', '1', '2', '5']
console.log(vegetales.length); // 10
vegetales.length = 2;
console.log(Object.keys(vegetales)); // ['0', '1']
console.log(vegetales.length); // 2

Etiquetas: JavaScript Arrays manipulación-de-datos

Publicado el 6-25 23:35