このページはコミュニティーの尽力で英語から翻訳されました。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 2020年1月.
Object.fromEntries() は静的メソッドで、キーと値の組み合わせのリストをオブジェクトに変換します。
In this article
試してみましょう
const entries = new Map([ ["foo", "bar"], ["baz", 42],]);const obj = Object.fromEntries(entries);console.log(obj);// 予想される結果: Object { foo: "bar", baz: 42 }構文
Object.fromEntries(iterable)引数
返値
反復可能な項目から作成されたプロパティを持つ新しいオブジェクト。
説明
Object.fromEntries() メソッドは、キーと値のリストを取り、これらの項目から作成されたプロパティを持つ新しいオブジェクトを返します。iterable 引数は[Symbol.iterator]() メソッドを実装しているオブジェクトであることが求められます。このメソッドは 2 つの要素を持った配列風オブジェクトを生成するイテレーターを返します。最初の要素はプロパティキーとして使われる値であり、次の要素はプロパティのキーに関連付けられる値です。
Object.fromEntries() はObject.entries() の逆の動作をしますが、Object.entries() は文字列キーのプロパティしか返さないのに対し、Object.fromEntries() はシンボルキーのプロパティも作成することができます。
メモ:Array.from() と異なり、Object.fromEntries() はthis の値を使用しないので、他のコンストラクターで呼び出してもその型のオブジェクトは作成されません。
例
>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 }仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.fromentries> |