Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El método Object.fromEntries() transforma una lista de pares con [clave-valor] en un objeto.

Sintaxis

Object.fromEntries(iterable);

Parámetros

iterador
Un iterador como un Arreglo, Map u otros objetos que implementen el protocolo iterable.

Valor de retorno

Un nuevo objeto el cual sus propiedades estan dadas por los pares de [clave-valor] del iterador.

Descripción

El método Object.fromEntries() toma una lista de pares con clave-valor y devuelve un nuevo objeto el cual sus propiedades estan dadas por esos pares. El argumento iterador se espera que sea un objeto que implemente un método @@iterator, que devuelve un objeto iterador y que produce un objeto al estilo de array de dos elementos, donde el primer elemento es un valor que se usara como la clave de la propiedad, y el segundo elemento es un valor que se asocia con esa clave de propiedad.

Object.fromEntries() realiza lo inverso de Object.entries().

Ejemplos

Convirtiendo un Map en un Objeto

Con Object.fromEntries, puedes convertir de un Map a un Object:

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

Convirtiendo un Arreglo en un Objeto

Con Object.fromEntries, puedes convertir de un Array a un Object:

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

Transformación de Objetos

Con Object.fromEntries, su método inverso Object.entries(), y métodos de manipulación de arreglos, eres capaz de transformar objetos así:

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 }

Especificaciones

Especificación Estado
Object.fromEntries propuesta Etapa 4

Compatibilidad de navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidEdge MobileFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
fromEntriesChrome Soporte completo 73Edge Sin soporte NoFirefox Soporte completo 63IE Sin soporte NoOpera Sin soporte NoSafari Soporte completo 12.1WebView Android Soporte completo 73Chrome Android Soporte completo 73Edge Mobile Sin soporte NoFirefox Android Soporte completo 63Opera Android Sin soporte NoSafari iOS Soporte completo 12.2Samsung Internet Android Sin soporte Nonodejs Soporte completo 12.0.0

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte

Véase tambien

Etiquetas y colaboradores del documento

Colaboradores en esta página: Belquira
Última actualización por: Belquira,