TypeScriptで素のObjectよりMapの方がTypeScriptと相性がよく使う機会が増えてきたけど、レスポンスに変換するときなどはObjectに変換する必要があったのでメモ。
ぐぐったらreduceとか使う古いのが検索上位に出てきてしまうが、
Map.prototype.entries()をObject.fromEntries()に渡すというシンプルな組合わせでできる。
Object.fromEntries() - JavaScript | MDN
以下はChromeのconsoleなのでJavaScriptで試したけどTypeScriptでも同じようにできる。
const map = new Map() >undefined map.set(1, 'one') >Map(1) {1 => 'one'} map.set(2, 'two') >Map(2) {1 => 'one', 2 => 'two'} map.set(3, 'three') >Map(3) {1 => 'one', 2 => 'two', 3 => 'three'} map.entries() >MapIterator {1 => 'one', 2 => 'two', 3 => 'three'} Object.fromEntries(map.entries()) >{1: 'one', 2: 'two', 3: 'three'}
reduced使うやつ
https://qiita.com/mktoho-n/items/6b96674c9c7ba542d2be