Fala meus nobres devs! Quando você pensa em parar a execução de uma rotina você…
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