🥇 Arrays (Arreglos)

Los arreglos son la forma mas sencilla de una estructura de datos dentro de los lenguajes de programación. Los arreglos son una colección de elementos que pueden ser accedidos a través de sus índices que por lo general son numéricos. Dentro de JavaScript los areglos son ademas un tipo de objeto especial.

La forma mas simple de definir un arreglo es la siguiente:

var colores = ["negro","rojo","amarillo","rosa"];

Otra forma de definir el mismo arreglo es la siguiente.

var colores = Array("negro","rojo","amarillo","rosa");

Para obetener la longitud de un arreglo utilizamos la propiedad length.

console.log(colores.length); // 4

A diferencia de otros lenguajes de programación, en JavaScript un arreglo puede contener valores de difernetes tipos.

var miArreglo = ["azul", true, 100]

Para determinar si estamos trabajando con un arreglo utilizamos Array.isArray().

var miArreglo = ["lunes","martes","miercoles"];
console.log(Array.isArray(miArreglo)); // -> true

🍿 ¿Cómo escribir en un arreglo en JavaScript?

Los datos son asignados a un arreglo mediante el operador [] y mediante el operador de asignación.

var numeros = [];

for(var i=0;i<100;i+=1) {
    numeros[i] = i;
}

console.log(numeros);
[
   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11,
  12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
  24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
  36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
  60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
  72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
  84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
  96, 97, 98, 99
]

¿Cómo acceder a los valores de un arreglo en JavaScript?

Para acceder a los valores de un arreglo utilizamos el índice (valor numérico) que esta asociado a este valor. Este índice empieza en cero y se incrementa en 1 cada que se agrega un nuevo valor.

Por ejemplo si quiereamos obtener el primer elemento del arreglo…

console.log(numeros[0]); // salida => 0

Para imprimir el último valor de un arreglo usamos arreglo[arreglo.length-1].

console.log(numeros[numeros.length - 1]); // -> 99

🍿 ¿Cómo recurrer un arreglo en JavaScript?

De la misma forma que podemos iterar para escribir valores podemos iterar para obtenerlo.

var juegos = ["super mario","donkey kong","pac man","asteroids"];

for(var i=0;i<juegos.length;i+=1) {
    console.log(juegos[i]);
}
super mario
donkey kong
pac man
asteroids

🍿 ¿Cómo recorrer un string palabra por palabra en JavaScript?

Podemos convertir una cadena de texto en un arreglo de palabras, para ello podemos usar la sentencia split rompiendo como base utilizando los espacios.

var cadena = "vuelve el perro arrepentido";
var palabras = cadena.split(" ");

for(var i=0;i<palabras.length;i+=1) {
    console.log(palabras[i]);
}
vuelve
el
perro
arrepentido

🍿 ¿Qué es la asignación por referencia?

En JavaScript cuando un arreglo es enviado a una función, o cuando se asocia a otra variable, este no genera una copia de sus valores, únicamente se crea un enlace por referencia.

Esto quiere decir que si tenemos el arreglo siguiente.

var princessas = ["Ana","Elsa","Bella","Ariel"];

var otrasPrincesas = princessas

otrasPrincesas.push("Fiona");

console.log(princessas);

Obtendremos la siguiente salida.

[ 'Ana', 'Elsa', 'Bella', 'Ariel', 'Fiona' ]

Como podemos ver, aunque hemos realizado un cambio dentro del segundo arreglo, el primero también ha sido afectado, y es que en realidad estamos trabajando sobre el mismo arreglo, ya que la igualdad solo le indica al compilador que cree una referencia al arreglo original.

Si deseamos generar una copia de cada uno de los valores podemos hacerlo iterando el arreglo.

var princesas = ["Ana","Elsa","Bella","Ariel"];

var otrasPrincesas = [];

for(var i=0;i<princesas.length;i+=1) {
    otrasPrincesas[i] = princesas[i];
}

otrasPrincesas.push("Fiona");

console.log(princesas);

En este caso el arreglo original preserva sus valores.

[ 'Ana', 'Elsa', 'Bella', 'Ariel' ]