La estructura de datos de JavaScript Array

Las matrices son la estructura de datos más fundamental en cualquier lenguaje de programación.

Las matrices están disponibles en la mayoría (si no en todos) los lenguajes de programación, integrados en el lenguaje.

Hablemos de lo que representan las matrices en la mayoría de los lenguajes de programación de nivel inferior, como C: representan un conjunto de celdas contiguas en la memoria de la computadora.

Comenzando desde una celda en la memoria (ayuda a visualizar celdas como en una hoja de cálculo si lo desea), podemos crear una matriz con 10 ranuras obteniendo 10 ranuras contiguas.

Esto nos permite realizar operaciones como acceder a la ranura # 2 conociendo la dirección de memoria de la primera ranura, # 0, y simplemente agregando2a ese.

En JavaScript trabajamos a un nivel superior y las matrices funcionan de forma diferente. No tenemos acceso a la memoria como podemos hacerlo con C u otros lenguajes de nivel inferior, por lo que estamos abstraídos de este tipo de matriz matemática.

Las matrices en lenguajes de nivel inferior solo pueden almacenar un tipo de datos específico, por lo que podemos calcular la cantidad de memoria que ocupará una matriz de antemano, de modo que podamos almacenarla de forma segura en un lugar de la memoria de la computadora que pueda albergarla.

En JavaScript, las matrices pueden alojar cualquier tipo de datos, mezclándolos. Podemos tener un número, luego un objeto, luego otra matriz.

Una matriz se inicializa con esta sintaxis:

const myArray = []

o

const myArray = new Array()

no hay diferencia, pero prefiero la sintaxis taquigráfica[].

En JavaScript no estamos obligados a especificar el tamaño de la matriz en el momento de la creación, perolatahazlo:

const myArray = new Array(10)

Entonces podemos llenar la matriz con valores:

let val = 1
for (const [i, v] of myArray.entries()) {
  myArray[i] = val++
}

Puede hacer referencia al primer elemento de la matriz usando:

myArray[0]

(el índice comienza desde0) y todos los elementos subsiguientes de la matriz incrementando el número de índice:

myArray[4] //5
myArray[3 + 4] //8

Puede cambiar el valor del elemento en cualquier posición utilizando la sintaxis:

myArray[3] = 'Another item'

Las matrices en JavaScript son objetos internamente, por lo que tienen métodos. Puede agregar un elemento al final de la matriz usando elpushmétodo:

myArray.push(11)

Puede agregar un elemento en cualquier posición utilizando elsplice()método (no confundir conslice()).

Al principio:

myArray.splice(0, 0, 'new item')

En el índice 3:

myArray.splice(3, 0, 'new item')

Puede eliminar un elemento del final de la matriz usando

myArray.pop()

y desde el principio usando

myArray.shift()

Podemos encontrar la longitud de una matriz comprobando elmyArray.lengthpropiedad.

Y podemos iterar a través de los elementos en una matriz usando bucles:

for (let i = 0; i < myArray.length; i++) {
  console.log(myArray[i]) //value
  console.log(i) //index
}
myArray.forEach((item, index) => {
  console.log(item) //value
  console.log(index) //index
}
let i = 0
while (i < myArray.length) {
  console.log(myArray[i]) //value
  console.log(i) //index
  i = i + 1
}
//iterate over the value
for (const value of myArray) {
  console.log(value) //value
}

//get the index as well, using entries() for (const [index, value] of myArray.entries()) { console.log(index) //index console.log(value) //value }


Más tutoriales de js: