Cómo comprobar si el objeto está vacío en JavaScript

Rupam Yadav 12 octubre 2023
  1. Use hasOwnProperty() para comprobar si un objeto está vacío en JavaScript
  2. Use Object.key() para comprobar si un objeto está vacío en JavaScript
  3. Usa la librería Underscore.js para comprobar si un objeto está vacío en JavaScript
Cómo comprobar si el objeto está vacío en JavaScript

Los objetos juegan un papel importante en JavaScript ya que nos permiten estructurar, mantener y transferir datos; sin embargo, hay veces en que los objetos que obtenemos están vacíos. En este artículo, demostraremos algunos métodos para comprobar si un objeto está vacío en JavaScript.

Use hasOwnProperty() para comprobar si un objeto está vacío en JavaScript

Podemos comprobar si la propiedad especificada está presente en el objeto o no. En el siguiente ejemplo, estamos comprobando dos objetos para la presencia de la propiedad prop. La función isObjEmpty() devuelve el comando booleano si el objeto está vacío.

Esta función devuelve False si la propiedad especificada está presente; de lo contrario, devuelve True. Tenga en cuenta que este método sólo es útil si no hay soporte para ECMAScript 5; compruebe el siguiente proceso si ECMAScript 5 está disponible:

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

Use Object.key() para comprobar si un objeto está vacío en JavaScript

En el ejemplo anterior, vimos cómo podíamos comprobar si el objeto está vacío en JavaScript; sin embargo, los resultados son diferentes si tenemos el soporte para ECMAScript 5.

En este ejemplo, vamos a usar el comando Object.keys() para comprobar si el objeto tiene alguna clave. Si la longitud de las claves es cero, entonces está vacío; de lo contrario, no está vacío.

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

Usa la librería Underscore.js para comprobar si un objeto está vacío en JavaScript

Otra forma fácil de comprobar si no hay datos en un objeto es usando la biblioteca Undescore.js; es una biblioteca de JavaScript que tiene varios métodos útiles. Uno de los métodos es _.isEmpty(), que devuelve true si el objeto está vacío.

Podemos incluir la librería especificando su URL en la etiqueta <script>. Además, podemos usar un script bajo para acceder a sus funciones como su nombre indica.

<!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

Artículo relacionado - JavaScript Object