Object.fromEntries în JavaScript

Obiecte ES2019

Construiește un obiect dintr-o listă de perechi [cheie, valoare]; inversul lui Object.entries.

Sintaxă
Object.fromEntries(perechi)

Ce face Object.fromEntries

Object.fromEntries primește orice iterabil de perechi: un tablou de tablouri, un Map, rezultatul lui URLSearchParams sau al lui FormData. Fiecare pereche devine o proprietate.

Combinat cu Object.entries, permite transformarea unui obiect cu metodele de tablou: map, filter, sort.

Parametri

Parametru Descriere
perechi Un iterabil cu perechi [cheie, valoare].

Ce returnează

Un obiect nou.

Exemple

Exemplul 1: Din tablou și din Map

console.log(Object.fromEntries([["oras", "Iași"], ["judet", "IS"]]));

const stoc = new Map([["mere", 30], ["pere", 12]]);
console.log(Object.fromEntries(stoc));

Rezultat

{ oras: 'Iași', judet: 'IS' }
{ mere: 30, pere: 12 }

Exemplul 2: Transformarea valorilor unui obiect

const preturi = { paine: 6, lapte: 9, cafea: 32 };

const cuTva = Object.fromEntries(Object.entries(preturi).map(([k, v]) => [k, +(v * 1.09).toFixed(2)]));
console.log(cuTva);

const scumpe = Object.fromEntries(Object.entries(preturi).filter(([, v]) => v > 8));
console.log(scumpe);

Rezultat

{ paine: 6.54, lapte: 9.81, cafea: 34.88 }
{ lapte: 9, cafea: 32 }

Exemplul 3: Parametrii dintr-o adresă URL

const params = new URLSearchParams("q=laptop&pagina=2&sort=pret");

console.log(Object.fromEntries(params));

Rezultat

{ q: 'laptop', pagina: '2', sort: 'pret' }

Greșeli frecvente

  • Dai un obiect simplu: Object.fromEntries({ a: 1 }) aruncă TypeError, pentru că obiectele nu sunt iterabile. Folosește Object.entries întâi.

Comenzi înrudite

  • Object.entries: Transformă un obiect într-un tablou de perechi [cheie, valoare], ușor de parcurs.
  • Map (get, set, has, delete): O colecție de perechi cheie–valoare în care cheile pot fi de orice tip și ordinea este păstrată.
  • URLSearchParams: Citește și construiește parametrii unei adrese (?pagina=2&sort=pret), cu codificare automată.