Tomando una matriz con un tamaño dado, cuando intentamos insertar los elementos en ella, JavaScript empuja los elementos para publicar el tamaño asignado. ¿No debería javascript restablecer el cursor a cero y empujar los elementos desde el índice 0 en adelante?
const arr = new Array(2); arr.push(1); arr.push(2); arr.push(3); console.log(arr.length);Cuando crea un new Array(2) , agrega dos elementos, ambos con un valor de undefined .
const arr = new Array(2); console.log(arr); // [undefined, undefined]Cuando agregue los tres adicionales, simplemente continuará agregando a la matriz, en lugar de eliminar los últimos tres.
const arr = new Array(2); arr.push(1); arr.push(2); arr.push(3); console.log(arr); // [undefined, undefined, 1, 2, 3] Sin embargo, si desea eliminar todo de la matriz, puede establecer la length en 0 .
const arr = new Array(2); arr.length = 0; console.log(arr); // []En resumen, JavaScript seguirá agregando elementos a menos que los elimine explícitamente.
Nota: No use new Array() . En su lugar, utilice una matriz vacía ( [] ). Esta respuesta usó el constructor Array() para coincidir con la pregunta.