本記事では、JavaScriptのMapをオブジェクトに、オブジェクトをMapに変換する方法について解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
Mapをオブジェクトに変換する方法
Mapをオブジェクトに変換するには、Object.fromEntriesメソッドを使用します。引数にMapオブジェクトが代入されている変数を指定します。
let map = new Map([
["one", 1],
["two", 2],
["three", 3],
]);
let result = Object.fromEntries(map);
console.log(result); // => {one: 1, two: 2, three: 3}
Object.fromEntriesメソッドとは?
Object.fromEntries
メソッドは、キーと値を受け取ります。受け取った情報からプロパティを持つ新しいオブジェクトを返します。
オブジェクトをMapに変換する方法
オブジェクトをMapに変換するには、Object.entriesメソッドを使用します。引数はMapに変換したいオブジェクトを指定します。
let obj = {
one: 1,
two: 2,
three: 3,
};
console.log(Object.entries(obj)); // => [['one', 1], ['two', 2], ['three', 3]]
let map = new Map(Object.entries(obj));
console.log(map); // => Map(3) {'one' => 1, 'two' => 2, 'three' => 3}
Object.entriesメソッドを使用することで、Mapオブジェクトを作成する時に指定する[key,値]の形式に変換することが出来ます。それをnew Map()に渡してあげることによってMapオブジェクトを作成することが出来ます。
new Map(Object.entries(obj));
/* ↓のようにMapオブジェクトが作成される */
new Map([['one', 1], ['two', 2], ['three', 3]]);