Criar array de comprimento específico em JavaScript

Sahil Bhosale 12 outubro 2023
  1. Crie um array de comprimento usando o construtor Array() em JavaScript
  2. Crie um array de comprimentos usando o método apply() em JavaScript
  3. Crie um array de comprimentos usando o método map() em JavaScript
  4. Cria um array de comprimento usando o método fill() em JavaScript
Criar array de comprimento específico em JavaScript

Em JavaScript, pode ser necessário criar ou declarar um array de comprimentos específicos e inserir os valores desejados dentro do array. Isso pode ser alcançado de diferentes maneiras.

Abaixo estão algumas das maneiras de criar um array de comprimentos específicos em JavaScript. Agora, use apenas no caso de achar que há necessidade, porque na maioria das vezes, não há necessidade de criar ou declarar um array de comprimentos específicos; você pode criar um array dinamicamente e usá-lo.

Crie um array de comprimento usando o construtor Array() em JavaScript

A primeira maneira de criar um array vazio de comprimentos específicos é usando o construtor Array() e passando um inteiro como argumento para ele. Como estamos chamando um construtor, usaremos uma nova palavra-chave.

var arr = new Array(5);
console.log(arr)

Resultado:

[undefined, undefined, undefined, undefined, undefined]

Essa maneira de criar um array de comprimentos específicos não é recomendada se você estiver usando JSlint, pois pode causar problemas. Uma vez que essa forma é ambígua e não cria apenas um array de um comprimento específico, também pode ser usada para fazer outras coisas, como criar um array contendo um valor como segue.

var arr_2 = new Array('5');
console.log(arr_2)

Resultado:

['5']

Crie um array de comprimentos usando o método apply() em JavaScript

O construtor Array fornece um método chamado apply(). Usando este método apply(), você pode fornecer argumentos para um método na forma de um array. O método apply() leva dois argumentos, o primeiro é a referência a this argumento e o segundo é o array.

var myArr = Array.apply(null, Array(5));
console.log(myArr);

Resultado:

[undefined, undefined, undefined, undefined, undefined]

Para criar um array vazio de um comprimento específico, digamos 5, passaremos null como o primeiro argumento, e o segundo é o array Array(5). Isso criará um array de comprimento 5 e inicializará cada elemento com um valor undefined.

Como alternativa, você também pode fazer o seguinte. Aqui, você pode passar um objeto array como o segundo parâmetro e então dentro dele definir o comprimento do array que você deseja criar, neste caso, 5.

var arr = Array.apply(null, {length: 5});
console.log(arr);
console.log(arr.length);

Resultado:

[undefined, undefined, undefined, undefined, undefined]
5

Crie um array de comprimentos usando o método map() em JavaScript

Outra maneira de criar um array de comprimentos específicos é usar o método map() em JavaScript. Aqui, o construtor Array(5) criará um array vazio de comprimento 5. Isso é semelhante ao que vimos anteriormente. Em seguida, usando o operador de propagação ..., espalharemos todos os elementos do array e colocaremos isso dentro de um colchete como este Array(5). Ele criará um array de comprimento 5 onde o valor de cada elemento será undefined. Então, para inicializar este array, faremos uso do método map().

[...Array(5)].map(x => 0);

Resultado:

[0, 0, 0, 0, 0]

Usando o método map(), pegaremos cada elemento dentro da variável x e adicionaremos o valor zero a ele. Isso inicializará todos os elementos do array para zero.

Cria um array de comprimento usando o método fill() em JavaScript

O método fill() também funciona da mesma maneira que map(); a única coisa é que fill() não tem nenhuma função como parâmetro. Ele leva diretamente um valor como uma entrada. Você pode criar um array de comprimento específico Array(5) e então preencher o array com algum valor inteiro, como mostrado abaixo.

Array(5).fill(0);
// [0, 0, 0, 0, 0]
Sahil Bhosale avatar Sahil Bhosale avatar

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

Artigo relacionado - JavaScript Array