Cómo recorrer propiedades de un objeto Javascript

Fácil - 2 min. lectura

Cuando tenemos colecciones de datos solemos añadirlas en un array, Set, o Map ya que son los objetos más habiluales donde guardar información en Javascript.

En ocasiones tenemos nuestra información almacenada en un objecto y no podemos recorrerla de una forma tan sencilla como un bucle for clásico

Podemos observar que si intentamos iterar mediante map, for... of o mediante forEach nos dará error.

Entonces, ¿cómo podemos hacerlo?

El método más sencillo es utilizar el bucle for ... in. Este bucle nos devolverá las propiedades y podremos acceder a sus valores mediante la notación por corchetes:

const miObjeto = {
  propiedad1: "uno",
  propiedad2: "dos",
  propiedad3: "tres"
}
for (let prop in miObjeto){
  console.log(miObjeto[prop]) // uno, dos, tres
}

Otra forma sería obtener los valores mediante Object.values

const miObjeto = {
  propiedad1: "uno",
  propiedad2: "dos",
  propiedad3: "tres"
}
Object.values(miObjeto) // [ 'uno', 'dos', 'tres' ]

De la misma forma, si lo que queresmos es obtener sus propiedades, podremos usar Object.keys

const miObjeto = {
  propiedad1: "uno",
  propiedad2: "dos",
  propiedad3: "tres"
}
Object.keys(miObjeto) // [ 'propiedad1', 'propiedad2', 'propiedad3' ]

Si de alguna manera queremos recurrir a obtener tanto las propiedades como los valores, podemos usar Object.entries. Este método nos devolverá un array de arrays con dos valores. El primer valor será la propiedad y el segundo el valor.

Al ser un array podremos operar con ellos más fácilmente:

const miObjeto = {
  propiedad1: "uno",
  propiedad2: "dos",
  propiedad3: "tres"
}

Object.entries(miObjeto).forEach(([key, value]) => {
  console.log(`${key} : ${value}`)
})