Object.keys / Object.values în JavaScript

Obiecte ES5 (values: ES2017)

Returnează un tablou cu cheile sau cu valorile unui obiect.

Sintaxă
Object.keys(obiect)
Object.values(obiect)

Ce face Object.keys / Object.values

Object.keys returnează numele proprietăților unui obiect, iar Object.values returnează valorile lor. Rezultatul este un tablou, deci poți folosi apoi map, filter sau length.

Un mod rapid de a verifica dacă un obiect este gol: Object.keys(obiect).length === 0.

Ce returnează

Un tablou.

Exemple

Exemplul 1: Cheile și valorile

const produs = { nume: "Laptop", pret: 3500, stoc: 4 };

console.log(Object.keys(produs));
console.log(Object.values(produs));

Rezultat

[ 'nume', 'pret', 'stoc' ]
[ 'Laptop', 3500, 4 ]

Exemplul 2: Obiect gol și suma valorilor

const filtre = {};
console.log(Object.keys(filtre).length === 0 ? "Fără filtre" : "Filtre active");

const vizite = { luni: 120, marti: 95, miercuri: 140 };
const total = Object.values(vizite).reduce((a, b) => a + b, 0);
console.log(total);

Rezultat

Fără filtre
355

Greșeli frecvente

  • Scrii obiect.keys(). Metoda aparține lui Object, nu obiectului tău: Object.keys(obiect).

Comenzi înrudite

  • Object.entries: Transformă un obiect într-un tablou de perechi [cheie, valoare], ușor de parcurs.
  • destructuring: Destructurarea: scoate valori din obiecte și tablouri direct în variabile.
  • for...of: Parcurge pe rând elementele unui tablou, ale unui șir sau ale altei colecții.