Object.fromEntries()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O método Object.fromEntries() transforma uma lista de pares chave-valor em um objeto.

Experimente

Sintaxe

Object.fromEntries(iterable);

Parâmetros

iterable

Um iterável como Array ou Map ou qualquer outro objeto que implemente o protocolo iterável.

Valor de retorno

Um novo objeto com suas propriedades definidas pelas entradas fornecidadas pelo iterável.

Descrição

O método Object.fromEntries() recebe uma lista de pares chave-valor e retorna um novo objeto cujas propriedades foram definidas pelas entradas da lista. O parâmetro iterable deve ser um objeto que implemente o método @@iterator, que retorne um objeto iterador que produza um objeto array-like de dois elementos, onde o primeiro será a chave da propriedade e o segundo será o valor associado à chave.

Object.fromEntries() faz o inverso de Object.entries().

Exemplos

Convertendo um Map em um Object

Com o método Object.fromEntries, é possível fazer a conveeção de um Map em um Object:

js
const map = new Map([
  ["foo", "bar"],
  ["baz", 42],
]);
const obj = Object.fromEntries(map);
console.log(obj); // { foo: "bar", baz: 42 }

Convertendo um Array em um Object

Com o método Object.fromEntries, é possível converter um Array em um Object:

js
const arr = [
  ["0", "a"],
  ["1", "b"],
  ["2", "c"],
];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }

Transformações de objetos

Com o método Object.fromEntries, seu inverso Object.entries(), e os métodos para manipulação de arrays, é possível fazer transformações em objetos como por exemplo:

js
const object1 = { a: 1, b: 2, c: 3 };

const object2 = Object.fromEntries(
  Object.entries(object1).map(([key, val]) => [key, val * 2]),
);

console.log(object2);
// { a: 2, b: 4, c: 6 }

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-object.fromentries

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
fromEntries

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja Também