Artigo original: https://www.freecodecamp.org/news/check-if-javascript-array-is-empty-or-not-with-length/
Ao programar em JavaScript, você pode precisar saber como verificar se um array está vazio ou não.
Para verificar se um array está vazio ou não, você pode usar a propriedade .length .
A propriedade length define ou retorna o número de elementos de um array. Conhecendo o número de elementos do array, você saberá se ele está vazio ou não. Um array vazio terá 0
elementos dentro dele.
Vejamos alguns exemplos.
Exemplo da sintaxe de .length
const myArray = [‘Cavalos’, ‘Cães’, ‘Gatos’];
Aqui, criamos uma variável que aponta para um array vazio.
Usando a propriedade length, podemos verificar o tamanho do array:
myArray.length
Isso retornará 3, pois há 3 itens no array.
Para verificar se o array está vazio ou não com .length, podemos fazer isso de três maneiras.
Exemplo um de .length
Primeiro, vamos criar um novo array sem elementos.
const arr = []
Agora, podemos verificar se ele está vazio usando .length
.
arr.length
Isso retornará 0, porque há 0 itens no array.
Exemplo dois de .length
Também podemos verificar explicitamente se o array está vazio ou não.
if (arr.length === 0) { console.log("O array está vazio!") }
Se o nosso array estiver vazio, a mensagem acima aparecerá no console. Se o array tiver elementos, o código dentro do bloco if
não será executado.
A seguir temos um terceiro exemplo para ver se um array está ou não vazio usando .length.
Exemplo três de .length
Ao combinar o uso da propriedade length e o operador lógico "not" em JavaScript, o símbolo "!", podemos ver se o array está vazio ou não.
O operador !
nega uma expressão. Ou seja, podemos usá-lo para retornar true
se o array estiver vazio.
Para esse exemplo, vamos abrir nosso console do JavaScript. Para abri-lo no Chrome, clique em Inspecionar -> Console.
Primeiro, crie um array sem itens.
![image](https://www.freecodecamp.org/portuguese/news/content/images/2021/09/image.png)
Em seguida, vamos usar o operador lógico "not", juntamente com nossa propriedade .length, para testar se o array está vazio ou não.
![Screen-Shot-2020-09-30-at-5.29.35-PM](https://www.freecodecamp.org/portuguese/news/content/images/2021/09/Screen-Shot-2020-09-30-at-5.29.35-PM.png)
Se não tivéssemos usado o operador "not", arr.length
retornaria 0
. Com o operador adicionado, ele retornará true
se o seu operando for false
. Como arr.length é 0
, ou equivalente a false, ele retorna true
.
Vamos usar isso com uma declaração de if
e imprimir no console uma mensagem se nosso array estiver vazio.
![image-2](https://www.freecodecamp.org/portuguese/news/content/images/2021/09/image-2.png)
Ao verificar se um array está ou não vazio, normalmente, é melhor verificar também se o array é, de fato, um array.
Por quê?
Porque pode haver o caso em que você estava esperando verificar o tamanho de um array, mas recebe, em vez disso, um tipo de dado diferente, como, por exemplo, uma string:
![image-7](https://www.freecodecamp.org/portuguese/news/content/images/2021/09/image-7.png)
Como a propriedade length
pode ser usada em outros tipos de dados, é útil verificar se o array é mesmo um array, conforme você esperava.
Sugiro que você use o método Array.isArray()
para confirmar se o seu array é de fato um array. Este método determina se o que foi passado é ou não um array. Se o que foi passado foi um array, o método retornará true
.
Vamos adicionar o método ao nosso exemplo.
Como usar o método Array.isArray()
![image-3](https://www.freecodecamp.org/portuguese/news/content/images/2021/09/image-3.png)
Para encerrar
Neste artigo, aprendemos que você pode usar a propriedade length
do JavaScript de várias maneiras para verificar se um array está vazio ou não. A propriedade length
retorna o número de itens que se encontram no array.
Também aprendemos que é melhor usar o método Array.isArray
ao usar a propriedade .length
para verificar se o valor passado é um array como você esperava.