Qué se entiende por arr[arr.length] . Me refiero a lo que realmente significa o lo que realmente hace, no puedo entender la lógica de cómo funciona. ¿Alguien puede explicar?
Esta declaración obtiene el índice del último índice de la matriz más uno. Se utiliza para agregar elementos a una matriz. Equivalente a array.push() .
var fruits = ["apple", "orange", "banana", "pear"]; // appends grapes to the array fruits[fruits.length] = "grapes"; console.log(fruits);Para obtener más información, consulte la página de W3School sobre métodos de matriz .
arr.length es la longitud de la matriz.
arr[arr.length] está accediendo por índice a la longitud de la matriz (fuera de los límites ya que la longitud comienza en 1, no en el índice 0).
ejemplo:
const test = [1,2,3] test[test.length] undefined test[test.length-1] 3arr.length significa la longitud de la matriz que se extiende desde el índice 0 hasta arr.length - 1 .
Por ejemplo, si obtuvo arr = ["a", "b", "c"] , arr.length es 3 .
arr[0] es "a" , arr[1] es "b" y arr[2] es "c" .
arr[3] aún no existe. pero si haces arr[arr.length] = "d" , obtienes ["a", "b", "c", "d"] .
Esta es una construcción extraña y, por lo general, uno simplemente debe escribir arr.push("d") .
const arr = ["a", "b", "c"]; console.log(arr.length, arr[0], arr[1], arr[2], arr[3]); arr[arr.length] = "d"; console.log(arr); arr.push("e"); console.log(arr);