Skip to main content
entrevistas

Iterando sobre Objetos en JavaScript: Más Allá de los Arrays

Autor: Reynaldo Navedo

Publicado:

En JavaScript, los objetos son una parte fundamental para la organización de datos. A diferencia de los arrays, que almacenan elementos en una secuencia ordenada, los objetos almacenan colecciones de pares clave-valor. Esto nos permite acceder a los datos mediante sus nombres, en lugar de su índice numérico.


Si bien los bucles for tradicionales son ideales para recorrer arrays, existen métodos más eficientes y legibles para iterar sobre las propiedades de un objeto. A continuación, exploraremos algunas de las formas más comunes y efectivas:


1. for...in:

Este bucle es la forma clásica de iterar sobre las propiedades enumerables de un objeto. En cada iteración, la variable declarada en el bucle tomará el valor de una de las claves del objeto.


const persona = {
  nombre: "Ana",
  edad: 30,
  ciudad: "Madrid"
};

for (let clave in persona) {
  console.log(clave + ": " + persona[clave]);
}

// Salida:
// "nombre: Ana"
// "edad: 30"
// "ciudad: Madrid"


2. Object.keys():

Este método devuelve un array con todas las claves propias (no heredadas) de un objeto. Podemos combinarlo con un bucle for...of para iterar sobre ellas.


const persona = {
  nombre: "Ana",
  edad: 30,
  ciudad: "Madrid"
};

const claves = Object.keys(persona);

for (let clave of claves) {
  console.log(clave + ": " + persona[clave]);
}

// Salida:
// "nombre: Ana"
// "edad: 30"
// "ciudad: Madrid"


3. Object.values():

Similar a Object.keys(), este método devuelve un array con los valores de todas las propiedades propias de un objeto.


const persona = {
  nombre: "Ana",
  edad: 30,
  ciudad: "Madrid"
};

const valores = Object.values(persona);

for (let valor of valores) {
  console.log(valor);
}

// Salida:
// "Ana"
// 30
// "Madrid"


4. Object.entries():

Este método devuelve un array de arrays, donde cada sub-array representa un par clave-valor del objeto.


const persona = {
  nombre: "Ana",
  edad: 30,
  ciudad: "Madrid"
};

const entradas = Object.entries(persona);

for (let [clave, valor] of entradas) {
  console.log(clave + ": " + valor);
}

// Salida:
// "nombre: Ana"
// "edad: 30"
// "ciudad: Madrid"


Conclusión:

La elección del método para iterar sobre un objeto dependerá de las necesidades específicas de tu aplicación. Si necesitas acceder tanto a la clave como al valor en cada iteración, Object.entries() es una excelente opción. Si solo necesitas las claves o los valores, Object.keys() y Object.values() son más eficientes.


Recuerda que comprender las diferentes formas de iterar sobre objetos en JavaScript te permitirá escribir código más limpio, eficiente y legible.

Comparte este contenido