Crear arrays de una longitud específica es una tarea común en JavaScript. Si bien los arrays de JavaScript son dinámicos, inicializarlos a un tamaño predeterminado puede mejorar la legibilidad del código y, en algunos casos, el rendimiento. Este artículo explora técnicas eficientes para lograr esto.
Tabla de contenido
- Crear arrays con el constructor
Array()
- Poblar arrays con
fill()
- Generar arrays con
map()
- Comparando los métodos
Crear arrays con el constructor Array()
El método más simple utiliza el constructor Array()
. Proporcionar un único argumento numérico crea un array de esa longitud, inicialmente lleno de valores undefined
:
const arrayLength = 5;
const myArray = new Array(arrayLength);
console.log(myArray); // Salida: [ , , , , ] (o [ ] dependiendo de la consola de su navegador)
console.log(myArray.length); // Salida: 5
Esto es eficiente para crear arrays donde los valores iniciales no son cruciales. Tenga en cuenta que la representación visual en la consola puede variar.
Poblar arrays con fill()
Para arrays inicializados con un valor específico, el método fill()
es altamente eficiente y legible:
const arrayLength = 5;
const defaultValue = 0;
const myArray = new Array(arrayLength).fill(defaultValue);
console.log(myArray); // Salida: [0, 0, 0, 0, 0]
console.log(myArray.length); // Salida: 5
fill()
llena directamente el array, convirtiéndolo en la opción preferida para este escenario común.
Generar arrays con map()
Si necesita generar valores dinámicamente, el método map()
proporciona flexibilidad. Combinado con el constructor Array()
, puede crear y poblar un array en un solo paso:
const arrayLength = 5;
const myArray = Array(arrayLength).fill().map((_, index) => index * 2); //Nota el uso de fill() aquí para crear el array
console.log(myArray); // Salida: [0, 2, 4, 6, 8]
console.log(myArray.length); // Salida: 5
Este ejemplo genera valores basados en el índice, pero map()
puede manejar cualquier lógica para crear el contenido deseado del array.
Comparando los métodos
Si bien el método apply()
se sugirió anteriormente, fill()
generalmente proporciona mejor legibilidad y rendimiento para inicializar arrays con un solo valor. El constructor Array()
sigue siendo útil para crear arrays vacíos de una longitud específica. map()
brilla cuando se requiere generación de valores dinámicos.
Elija el método que mejor se adapte a sus necesidades. Para una inicialización simple con un valor constante, fill()
es el enfoque recomendado.