A criação de arrays é uma tarefa cotidiana para um programador. Não é diferente para o programador Javascript, todos os dias as listas de dados estão em nossas mãos para trabalharmos com elas. O fato é que existem várias formas de criar um array e popular ele com dados.
Hoje vou ensinar a você algumas formas de como criar um array e alguns erros que você deve evitar enquanto fizer isso.
Array.fill
A primeira opção para popular um array é o Array.fill, esta opção é bastante comum e útil para variáveis imutáveis, como Numbers, Strings e Booleans. Mas e se eu quiser trabalhar com um array de objetos? Será que ela pode me atender?
Neste caso, se em algum momento eu quiser acessar um dos itens do array desta forma:
Eu vou passar a ter problemas. Como que eu estou criando a mesma instância de Objeto para todos os itens do array, ou passando a mesma referência, ao tentar alterar um item, eu vou acabar alterando todos os demais. Assim diz a documentação do Array.fill:
O método fill() preenche todos os valores do array a partir do índice inicial a um índice final com um valor estático.
Se você quiser preencher o array com objetos que possam ser acessados em instâncias diferentes você vai precisar utilizar o map(), este vai lhe permitir inserir novos itens, sem que eles tenham a mesma referência.
Desta forma nós estamos criando um array vazio e depois estamos alterando o valor de cada item específico do nosso array. Sendo assim, nós temos objetos totalmente independentes uns dos outros. Se você tentar alterar o nome novamente, você vai alterar um item específico e não todos os itens, como anteriormente.
Utilizando o loop for
Utilizar o loop for é uma outra forma de criar um array. Esta forma é mais old school, mas ainda tem as suas aplicações em alguns casos específicos.
Uma das vantagens de se trabalhar com o for é que você pode parar o loop quando alguma condição acontecer. Por exemplo: Se eu tiver um item com o id = 3.
Utilizando o Array.from
Segundo a documentação do Array.from:
O método
Array.from()
cria uma nova instânciade um Array
quando for passado um array-like ou um iterable object como argumento.No ES6, a sintaxe de classe permite a subclassificação de classes nativas e classes definidas pelo usuário; como resultado, os métodos estáticos pertencentes a classe, como
Array.from,
são "herdadas" por subclasses doArray
e criam novas instâncias dasubclasse, não doArray
.
Basicamente, você pode criar um array de qualquer coisa que você possa iterar, ou seja, possa percorrer utilizando um loop for, por exemplo.
Nesta forma de utilizar o Array.from estamos passando 2 argumentos para a função. O primeiro é um objeto, que especifica qual o length (tamanho) do array que queremos criar. O segundo parâmetro atua como uma função Map, lembrando que esta função tem os mesmos parâmetros de um forEach. Retorne o objeto que você quer montar e está pronto o seu array. Depois disso é só partir pro abraço!
