javascript-object-keys-values-entries

Métodos keys, values y entries en JavaScript

Los métodos Object.keys(), Object.values(), y Object.entries() son métodos estáticos del objeto global Object que permiten extraer información sobre la composición de los objetos.

Como sabemos, hemos visto, los objetos en JavaScript son estructuras de datos que nos permiten almacenar y organizar datos en pares clave-valor.

Con estos métodos, podemos obtener información sobre las claves, valores y pares clave-valor de un objeto que componen el objeto, para su manipulación posterior.

  • Object.keys(): Devuelve un array de claves.
  • Object.values(): Devuelve un array de valores
  • Object.entries(): Devuelve un array de pares clave-valor.

Uso de los métodos

El uso de estos métodos es muy sencillo, simplemente llamaríamos a cada uno de ellos de esta forma,

Object.keys(obj)
Object.values(obj)
Object.entries(obj)
  • obj: El objeto del cual se desea obtener las claves.
  • Orden de las propiedades: Los métodos devuelven los elementos en el orden en que las propiedades se agregan al objeto (pero en general, no te fies de ello)
  • Enumerabilidad: Solo las propiedades enumerables aparecen en el resultado.

Vamos a ver cada uno de ellos en detalle 👇

Método Object.keys()

El método Object.keys() devuelve un array con los nombres de las propiedades enumerables de un objeto. La lista de claves se devuelve en el mismo orden en que se producen en un bucle for...in sobre el objeto.

Lo vemos mejor con un ejemplo. Supongamos el siguiente objeto:

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

Para obtener las claves de este objeto:

const claves = Object.keys(persona);

console.log(claves); // ["nombre", "edad", "ciudad"]

Ejemplos prácticos

Método Object.values()

El método Object.values() devuelve un array con los valores de las propiedades enumerables de un objeto. El orden de los valores coincide con el orden de las claves.

Siguiendo con nuestro ejemplo, si utilizamos el mismo objeto persona:

const valores = Object.values(persona);
console.log(valores); // ["Ana", 25, "Madrid"]

Ejemplos prácticos

Método Object.entries()

El método Object.entries() devuelve un array de pares clave-valor en forma de arrays anidados. Cada sub-array contiene dos elementos: el nombre de la propiedad y su valor.

Es decir, que si lo aplicamos a nuestro ejemplo de persona, tendríamos lo siguiente:

const entradas = Object.entries(persona);

console.log(entradas);
// [["nombre", "Ana"], ["edad", 25], ["ciudad", "Madrid"]]

Ejemplos prácticos