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

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.