Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
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 janeiro de 2020.
O métodoObject.fromEntries() transforma uma lista de pares chave-valor em um objeto.
In this article
Experimente
const entries = new Map([ ["foo", "bar"], ["baz", 42],]);const obj = Object.fromEntries(entries);console.log(obj);// Expected output: Object { foo: "bar", baz: 42 }Sintaxe
Object.fromEntries(iterable);
Parâmetros
iterableUm iterável como
ArrayouMapou qualquer outro objeto que implementeo protocolo iterável.
Valor de retorno
Um novo objeto com suas propriedades definidas pelas entradas fornecidadas pelo iterável.
Descrição
O métodoObject.fromEntries() recebe uma lista de pares chave-valor e retorna um novo objeto cujas propriedades foram definidas pelas entradas da lista. O parâmetroiterable deve ser um objeto que implemente o método@@iterator, que retorne um objeto iterador que produza um objetoarray-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 deObject.entries().
Exemplos
>Convertendo umMap em umObject
Com o métodoObject.fromEntries, é possível fazer a conveeção de umMap em umObject:
const map = new Map([ ["foo", "bar"], ["baz", 42],]);const obj = Object.fromEntries(map);console.log(obj); // { foo: "bar", baz: 42 }Convertendo umArray em umObject
Com o métodoObject.fromEntries, é possível converter umArray em umObject:
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étodoObject.fromEntries, seu inversoObject.entries(), e osmétodos para manipulação de arrays, é possível fazer transformações em objetos como por exemplo:
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® 2026 Language Specification> # sec-object.fromentries> |