Como verificar se um objeto está vazio em JavaScript2 min read

Categoria: JavaScript

Fala pessoal! Hoje, vou mostrar para vocês algumas soluções para você verificar se um objeto está vazio utilizando o JavaScript moderno (ES5+). Verificar se um objeto JavaScript está vazio não é simplesmente verificar se ele está null, portanto vamos entender algumas formas de fazer isso.

1. Object.keys()

O Object.keys() é um método que retorna um array de enumerable com os nomes das propriedades de um determinando objeto. Portanto, usando essa abordagem podemos verificar se o objeto tem alguma propriedade, utilizando o tamanho (length) desse array:

function objetoVazio(obj) {
    return Object.keys(obj).length === 0;
}
 
console.log(objetoVazio({})); // output: true
 
var cor = {"cor":"azul"};
console.log(Object.keys(cor)); // output: ['cor']
console.log(Object.keys(cor).length); // output: 1
console.log(objetoVazio(cor)); // output: false

2. JSON.stringify

Se você é desenvolvedor back-end usando a tecnologia Node.js, certamente, já usou o JSON.stringify para converter um objeto em string. A abordagem é exatamente esta: converter um objeto para string e verificar se esse objeto é vazio { }.

function objetoVazio(obj) {
    return JSON.stringify(obj) === '{}';
}
 
console.log(objetoVazio({})); // output: true
 
var cor = { "cor":"azul" };
console.log(JSON.stringify(cor)); // output: {'cor': 'azul'}
console.log(objetoVazio(cor)); // output: false

4. Object.entries()

O método Object.entries() retorna uma array de array com cada elemento sendo um array de par chave-valor do objeto. Com isso, basta verificar se esse array está vazio e você terá sua verificação de objeto vazio com sucesso:

function objetoVazio(obj) {
    return Object.entries(obj).length === 0;
}
 
console.log(objetoVazio({})); // output: true
 
var cor = {"cor":"azul", "moto": "XJ6"};
console.log(Object.entries(cor)); // output: [ [ 'cor', 'azul' ], [ 'moto', 'XJ6' ] ]
console.log(Object.entries(cor).length); // output: 1
console.log(objetoVazio(cor)); // output: false

Bônus: como fazer a verificação com jQuery

Com jQuery você já tem uma forma abstrata de fazer essa verificação, já que a biblioteca já tem um método embutido (jQuery.isEmptyObject) para prover esse recurso:

jQuery.isEmptyObject({}); // true
jQuery.isEmptyObject({"cor":"azul"}); // false

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *