Crear array de longitud específica en JavaScript
-
Crear un array de longitud usando el constructor
Array()
en JavaScript -
Cree un array de longitudes utilizando el método
apply()
en JavaScript -
Cree un array de longitudes utilizando el método
map()
en JavaScript -
Crea un array de longitud usando el método
fill()
en JavaScript
En JavaScript, es posible que deba crear o declarar un array de longitudes específicas e insertar los valores que desee dentro del array. Se puede lograr de diferentes formas.
A continuación se muestran algunas de las más formas de crear un array de longitudes específicas en JavaScript. Ahora solo use esto en caso de que crea que es necesario porque la mayoría de las veces, no es necesario crear o declarar un array de longitudes específicas; puede crear dinámicamente un array y usarla.
Crear un array de longitud usando el constructor Array()
en JavaScript
La primera forma de crear un array vacía de longitudes específicas es usando el constructor Array()
y pasándole un número entero como argumento. Como estamos llamando a un constructor, usaremos una nueva palabra clave.
var arr = new Array(5);
console.log(arr)
Producción :
[undefined, undefined, undefined, undefined, undefined]
Esta forma de crear un array de longitudes específicas no se recomienda si está utilizando JSlint, ya que podría causar problemas. Dado que esta forma es ambigua y no solo crea un array de una longitud particular, también se puede usar para hacer otras cosas como crear un array que contenga un valor de la siguiente manera.
var arr_2 = new Array('5');
console.log(arr_2)
Producción :
[ "5" ]
Cree un array de longitudes utilizando el método apply()
en JavaScript
El constructor Array
proporciona un método llamado apply()
. Con este método apply()
, puede proporcionar argumentos a un método en forma de array. El método apply()
toma dos argumentos, el primero es la referencia a this
argumento y el segundo es el array.
var myArr = Array.apply(null, Array(5));
console.log(myArr);
Producción :
[undefined, undefined, undefined, undefined, undefined]
Para crear un array vacío de una longitud específica, digamos 5
, pasaremos null
como primer argumento, y el segundo es el array Array(5)
. Esto creará un array de longitud 5 e inicializará cada elemento con un valor undefined
.
Alternativamente, también puede hacer lo siguiente. Aquí, puede pasar un objeto de array como segundo parámetro y luego, dentro de él, definir la longitud del array que desea crear, en este caso, 5
.
var arr = Array.apply(null, {length: 5});
console.log(arr);
console.log(arr.length);
Producción :
[undefined, undefined, undefined, undefined, undefined]
5
Cree un array de longitudes utilizando el método map()
en JavaScript
Otra forma de crear un array de longitudes específicas es utilizar el método map()
en JavaScript. Aquí, el constructor Array(5)
creará un array vacía de longitud 5. Esto es similar a lo que vimos anteriormente. Luego, usando el operador de extensión ...
, distribuiremos cada elemento del array y lo encerraremos dentro de un corchete como este [...Array(5)]
. Creará un array de longitud 5 donde el valor de cada elemento será undefined
. Luego, para inicializar esta matriz, usaremos el método map()
.
[...Array(5)].map(x => 0);
Producción :
[0, 0, 0, 0, 0]
Usando el método map()
, tomaremos cada elemento dentro de la variable x
y luego le agregaremos valor cero. Esto inicializará todos los elementos del array a cero.
Crea un array de longitud usando el método fill()
en JavaScript
El método fill()
también funciona de la misma manera que lo hace map()
; lo único es que el fill()
no toma ninguna función como parámetro. Toma directamente un valor como entrada. Puede crear un array de longitud específica Array(5)
y luego llenar el array con algún valor entero, como se muestra a continuación.
Array(5).fill(0);
// [0, 0, 0, 0, 0]
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedIn