D3.js
Author

(Rocha, 2019, pp. 46-49)

Matrices - Arrays

La principal estructura de datos que usará para almacenar datos unidimensionales es el array de JavaScript. Un array de valores es suficiente para crear un gráfico de barras o de líneas simple. Con un array de arrays, puede crear un diagrama de dispersión.

Las matrices se crean declarando una lista de elementos entre corchetes, o simplemente un par de corchetes de apertura y cierre si desea comenzar con una matriz vacía:

const colors = ["red", "blue", "green"];
const geocoords = [27.2345, 34.9937];
const numbers = [1,2,3,4,5,6];
const empty = [];

Luego puede acceder a los elementos de una matriz utilizando un índice de matriz, que comienza a contar desde cero:

const blue = colors[1];
const latitude = geocoords[0];

Cada array tiene una propiedad de longitud que devuelve el número de elementos. Resulta muy útil iterar usando el índice del array:

for (let i = 0; i < colors.length; i++) {
    console.log(colors[i]);
}

También puedes recorrer los elementos de una matriz usando el operador of (introducido en ES2015), cuando no necesitas el índice:

for (let color of colors) {
    console.log(color);
}

También puedes usar el método forEach(), que ejecuta una función para cada elemento y también permite el acceso al índice, ítem y array dentro de la función:

colors.forEach(function(i, color, colors) {
    console.log((i + 1) + ": " + color);
})

Las matrices multidimensionales se crean en JavaScript como matrices de matrices:

const points = [ [200, 300], [ 150, 100 ], [100, 300] ];

Puedes recuperar elementos individuales de esta manera:

const firstPoint = points[0];
const middleX = points[1] [0];

JavaScript ofrece muchas maneras de extraer e insertar datos en un array. Se recomienda usar métodos siempre que sea posible. La siguiente tabla enumera métodos útiles que puede usar con arrays. Algunos modifican el array; otros devuelven nuevos arrays y otros tipos. Los ejemplos proporcionados utilizan los arrays colors y numbers, como se declaró anteriormente. Pruébelos con la consola JavaScript de su navegador: