Conhecendo a classe Array e suas funções no Javascript
- #JavaScript
Fique por dentro das funcionalidades que o Javascript oferece por meio do objeto Array.
Arrays são estruturas de dados que armazenam um conjunto de valores, organizados na proporção 1:1 (um valor é armazenado em uma posição do array). Como os tipos de dados são dinâmicos em Javascript, um array pode conter valores de tipos diversos. E o que dá para fazer com esse conjunto? Há várias possibilidades de tratamento dos dados de um array, que estão disponíveis nos métodos embutidos em uma classe específica do Javascript para essa finalidade: a classe Array.
Declarando um array
Há duas formas de se declarar arrays em Javascript: instanciando a classe Array, e atribuindo literalmente a uma variável. Os dados desse conjunto podem ser acessados através do índice, que indica em um valor inteiro a posição onde o dado está gravado. A primeira posição do array será sempre zero, e a última posição é o número que representa o tamanho do array (representado pela propriedade length, que será explicada posteriormente) menos 1 , já que a contagem de elementos inicia em zero.
A importância da propriedade length para outros métodos da classe Array
A propriedade length representa o tamanho do array. Por padrão, seu valor é 1, mas esse valor pode variar de acordo com a quantidade de parâmetros passados para o construtor do objeto array.
Muitos métodos que fazem mutação ou usam o array passado como parâmetro como referência para retornar o resultado estão conectados à propriedade length. Exemplos: indexOf e slice consideram o valor de length em conta quando são executados. Métodos que fazem mutação no array original, como push e slice, promovem uma atualização nessa propriedade.
Exemplos de métodos para arrays
Vamos ver a seguir alguns métodos básicos usados em um objeto array, alguns deles obtidos da propriedade prototype , que é uma propriedade que permite adicionar propriedades aos objetos array.
push()
Insere um ou mais elementos ao final do array, e retorna seu novo comprimento.
pop()
Remove o último elemento do array, retornando o mesmo.
find()
Retorna o primeiro elemento no array que satisfaz a condição exposta na função passada como parâmetro. Caso não encontre nenhum item, retornará undefined, , o que significa que não foi encontrado nenhum elemento que satisfaça essa condição.
findIndex()
Retorna o índice do primeiro elemento no array que satisfaz a condição exposta na função passada como parâmetro. Caso não encontre nenhum item, retornará -1, o que significa que não foi encontrado nenhum elemento que satisfaça essa condição.
indexOf()
Retorna a posição de um item no array. Caso não encontre nenhum item, retornará –1, o que significa que não há nenhum item com o valor especificado.
slice()
Retorna um subarray, que é uma cópia de parte dos itens do array original, onde o subarray inicia na posição passada como parâmetro. O array original não é alterado.
shift()
Remove o primeiro elemento do array, e retorna esse elemento. Isso alterará o tamanho do array.
unshift()
Adiciona um ou mais elementos no início do array, e retorna o tamanho (length) atualizado.
Arrays e o paradigma de programação funcional
Há métodos de coleções que respeitam o princípio da imutabilidade, referente a um paradigma usado em Javascript, a programação funcional. Eles não efetuam qualquer alteração na coleção que recebem como um dos parâmetros, retornando um resultado baseado nos valores contidos no mesmo. Alguns exemplos: map, filter, reduce, slice, dentre vários outros. O foco desse artigo é conceituar e demonstrar a classe Array, por isso não entraremos em detalhes nesses métodos.
Concluindo
A classe Array provê um verdadeiro arsenal de funcionalidades em Javascript, o que é muito útil para iterações e mutações em listas, além de empregada na implementação de conceitos como componentização (usada em bibliotecas de front-end, como React e Angular), e reutilização de código.
Vale conferir a lista completa dos métodos para arrays na documentação da MDN