プロパティ名と値のデータからオブジェクトを作成する(fromEntries)

広告

Object オブジェクトのメソッドである fromEntries メソッドを使うことで、 2 つの値を持つデータの一覧からオブジェクトを作成することができます。例えば 2 つの要素を持つ配列を要素として持つような配列からオブジェクトを作成できます。ここでは JavaScript でプロパティ名と値のデータからオブジェクトを作成する方法について解説します。

※ fromEntries メソッドは ES2019 (ECMAScript 2019) から導入されました。

プロパティ名と値のデータからオブジェクトを作成する(fromEntries)

プロパティと値のデータからオブジェクトを作成するには Object オブジェクトの fromEntries メソッドを使います。書式は次の通りです。

Object.fromEntries(オブジェクト)

引数には反復処理可能なオブジェクトを指定します。具体的には Arrya オブジェクトまたは Map オブジェクトなどです。メソッドを実行すると、引数に指定したオブジェクトから新しい Object オブジェクトを作成します。

引数に指定するオブジェクトは、 2 つの値がペアとなったデータを指定します。 1 つ目の値がプロパティ名、 2 つ目の値がプロパティの値として格納されます。

次のサンプルをみてください。

let userArray = [
  ['name', '山田太郎'], 
  ['age', 32],
  ['address', '大阪府']
];

let userObj = Object.fromEntries(userArray);

console.log(userObj);
--> {name: "山田太郎", age: 32, address: "大阪府"}

プロパティ名と値のデータからオブジェクトを作成する(fromEntries)(1)

2 つの要素を持つ配列を要素として持つ配列から新しいオブジェクトを作成することができました。

なお引数に指定するオブジェクトのデータで、 2 つの値のペアではなく 1 つの値しか含まれていなかった場合、作成されるオブジェクトの該当のプロパティの値が undefined となります。次のサンプルをみてください。

let userArray = [
  ['name', '山田太郎'], 
  ['age'],                // 1つしか値がない
  ['address', '大阪府']
];

let userObj = Object.fromEntries(userArray);

console.log(userObj);
--> {name: "山田太郎", age: undefined, address: "大阪府"}

プロパティ名と値のデータからオブジェクトを作成する(fromEntries)(2)

作成されたオブジェクトの中でプロパティ名が age のプロパティの値が undefined となっています。

-- --

JavaScript でプロパティ名と値のデータからオブジェクトを作成する方法について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。