Artigo original: How to Check if a JavaScript Array is Empty or Not with .length, escrito por Madison Kanna

Traduzido e adaptado por: Daniel Rosa

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

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

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

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

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

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.