Spec-Zone.ru › JavaScript

Object.fromEntries()

Базовая версия Широко доступна

Эта функция хорошо зарекомендовала себя и работает на множестве устройств и версий браузеров. Она доступна во всех браузерах с июля 2015 года.

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

Попробовать

const entries = new Map([
  ["foo", "bar"],
  ["baz", 42],
]);

const obj = Object.fromEntries(entries);

console.log(obj);
// Expected output: Object { foo: "bar", baz: 42 }

Синтаксис

Object.fromEntries(iterable)

Параметры

iterable
Итерируемый объект (iterable), такой как Array или Map, содержащий список объектов. Каждый объект должен иметь два свойства:
0
Строка или символ, представляющие ключ свойства.
1
Значение свойства.

Обычно этот объект реализован как массив из двух элементов, где первый элемент является ключом свойства, а второй — значением свойства.

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

Новый объект, свойства которого определяются элементами (entries) итерируемого объекта.

Описание

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

Object.fromEntries() выполняет обратное действие по отношению к Object.entries(), за исключением того, что Object.entries() возвращает только свойства, ключами которых являются строки, тогда как Object.fromEntries() может также создавать свойства, ключами которых являются символы.

Примечание: В отличие от Array.from(), Object.fromEntries() не использует значение this, поэтому вызов его на другом конструкторе не создает объекты этого типа.

Примеры

Преобразование Map в объект

С помощью 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.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 }

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-object.fromentries

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

Настольные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
fromEntries
73
79
63
60
12.1
73
63
52
12.2
11.0
73
12.2
1.0.0
1.0
12.0.0

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

  • Полифил Object.fromEntries в core-js
  • Полифил es-shims Object.fromEntries
  • Object.entries()
  • Object.keys()
  • Object.values()
  • Object.prototype.propertyIsEnumerable()
  • Object.create()
  • Map.prototype.entries()
  • Map.prototype.keys()
  • Map.prototype.values()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API