Explica este código JavaScript
Dificultad: Intermedio
const numbers = [1,2,3,4,5,6];
console.log(numbers.length); //6
delete numbers[0];
console.log(numbers.length); // 🤔
- A.
5
- B.
SyntaxError
- C.
6
- D.
undefined
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
C.
6
Como bien sabemos
length
es útil para saber cual es la longitud de un iterable, es este caso de un arreglo.El operador
delete
usualmente se lo usa para eliminar un par clave-valor de un objeto pero ¿sabías que también es posible usarlo para "eliminar" un item de un arreglo?, en el ejemplo "eliminamos" el valor del de la posición 0, pero el espacio que ocupa dicho valor es ahora ocupado por unundefined
teniendo así: [undefined, 2, 3, 4, 5, 6].Por este motivo al calcular la longitud del arreglo por 2da vez obtenemos nuevamente
6
como salida.