Verificar se o objecto está vazio em JavaScript

Rupam Yadav 12 outubro 2023
  1. Utilize hasOwnProperty() para verificar se um objecto está vazio em JavaScript
  2. Utilize Object.key() para verificar se um objecto está vazio no JavaScript
  3. Utilize a biblioteca Underscore.js para verificar se um objecto está vazio em JavaScript
Verificar se o objecto está vazio em JavaScript

Os objectos desempenham um papel significativo no JavaScript, pois permitem-nos estruturar, manter e transferir dados; no entanto, há alturas em que os objectos que recebemos estão vazios. Neste artigo, vamos demonstrar alguns métodos sobre como se pode verificar se um objecto está vazio em JavaScript.

Utilize hasOwnProperty() para verificar se um objecto está vazio em JavaScript

Podemos verificar se o bem especificado está ou não presente no objecto. No exemplo abaixo, estamos a verificar dois objectos quanto à presença do bem prop. A função isObjEmpty() devolve o comando boolean se o objecto estiver vazio.

Esta função retorna False se a propriedade especificada estiver presente; caso contrário, retorna True. Note que este método só é útil se não houver suporte para ECMAScript 5; verifique o seguinte processo se ECMAScript 5 estiver disponível:

const obj1 = {
  one: 1,
  two: 2,
  three: 3
};
const obj2 = {};

console.log('Is Object 1 Empty? : ', isObjEmpty(obj1));
console.log('Is Object 2 Empty? : ', isObjEmpty(obj2));

function isObjEmpty(obj) {
  for (var prop in obj) {
    if (obj.hasOwnProperty(prop)) return false;
  }

  return true;
}

Resultado:

Is Object 1 Empty? :  false
Is Object 2 Empty? :  true

Utilize Object.key() para verificar se um objecto está vazio no JavaScript

No exemplo anterior, vimos como podemos verificar se o objecto está vazio em JavaScript; no entanto, ocorrem resultados diferentes se tivermos o apoio do ECMAScript 5.

Neste exemplo, vamos utilizar o comando Object.keys() para verificar se o objecto tem alguma chave. Se o comprimento das chaves for zero, então está vazio; caso contrário, não está vazio.

const obj1 = {
  one: 1,
  two: 2,
  three: 3
};
const obj2 = {};

console.log('Is Object 1 Empty? : ', isObjEmpty(obj1));
console.log('Is Object 2 Empty? : ', isObjEmpty(obj2));

function isObjEmpty(obj) {
  return Object.keys(obj).length === 0;
}

Resultado:

Is Object 1 Empty? :  false
Is Object 2 Empty? :  true

Utilize a biblioteca Underscore.js para verificar se um objecto está vazio em JavaScript

Outra maneira fácil de verificar se não há dados num objecto é utilizando a biblioteca Undescore.js; é uma biblioteca JavaScript que tem vários métodos úteis. Um dos métodos é _.isEmpty(), que retorna verdadeiro se o objecto estiver vazio.

Podemos incluir a biblioteca especificando o seu URL na etiqueta <script>. Além disso, podemos utilizar um sublinhado para aceder às suas funções como o seu nome sugere.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Empty Object Example</title>

    <script src="https://cdn.jsdelivr.net/npm/underscore@1.11.0/underscore-min.js"></script>
  </head>
  <body>
    <script>
      const obj1 = { one: 1, two: 2, three: 3 };
      const obj2 = {};

      console.log("Is Obj1 Empty? : ", _.isEmpty(obj1));
      console.log("Is Obj2 Empty? : ", _.isEmpty(obj2));
    </script>
  </body>
</html>

Resultado:

Is Obj1 Empty? :  false
Is Obj2 Empty? :  true
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artigo relacionado - JavaScript Object