Метод Object.fromEntries() преобразует список пар ключ-значение в объект.

Синтаксис

Object.fromEntries(iterable);

Параметры

iterable
Итерируемый объект, такой как Array или Map или другие объекты, реализующие iterable протокол.

Возращаемое значение

Новый объект, свойства которого задаются записями iterable.

Описание

Метод Object.fromEntries() принимает список пар ключ-значение и возвращает новый объект, свойства которого задаются этими записями. Ожидается, что аргумент iterable будет объектом, который реализует метод @@iterator, который возращает объект итератора, который создает двуэлементный массивоподобный объект, первый элемент которого является значением, которое будет использоваться в качестве ключа свойства, а второй элемент — значением связанного с этим ключом свойства.

Object.fromEntries() выполняет процедуру, обратную Object.entries().

Примеры

Преобразование Map в Object

С Object.fromEntries вы можете преобразовать Map в Object:

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

Преобразование Array в Object

С Object.fromEntries вы можете преобразовать Array в Object:

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

Трансформации объектов

С Object.fromEntries, обратным ему методом Object.entries() и методами манипулирования массивами вы можете преобразовывать объекты следующим образом:

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 }

Спецификации

Спецификация Статус
Object.fromEntries proposal Stage 4

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
fromEntriesChrome Полная поддержка 73Edge Нет поддержки НетFirefox Полная поддержка 63IE Нет поддержки НетOpera Полная поддержка 60Safari Полная поддержка 12.1WebView Android Полная поддержка 73Chrome Android Полная поддержка 73Firefox Android Полная поддержка 63Opera Android Нет поддержки НетSafari iOS Полная поддержка 12.2Samsung Internet Android Нет поддержки Нетnodejs Полная поддержка 12.0.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: mdnwebdocs-bot, Autapomorph, Akh-rman
Обновлялась последний раз: mdnwebdocs-bot,