【JavaScript】Map ObjectをObjectに変換とObjectをMap Objectに変換

  • このエントリーをはてなブックマークに追加

Map ObjectをObjectに変換する。ObjectをMap Objectに変換する。Map ObjectとObjectは相互変換可能である。





console.log("--Map ObjectをObjectに変換する。--");

const socketID_code = new Map();
socketID_code.set('socket1', 'code1');
socketID_code.set('socket2', 'code2');
socketID_code.set('socket3', 'code3');

// Map ObjectのsocketID_codeをentries()メソッドを使用して、キーと値のペアの2次元配列に変換する。
// Array.from(socketID_code.entries())を使用して、2次元配列を1次元配列に変換する。
Array.from(socketID_code.entries()).forEach(element => console.log("element =", element));

// Object.fromEntries()は、キーと値のペアの配列(2次元配列)を受け取り、それをObjectに変換するためのメソッドである。
let socketID_codeObject = Object.fromEntries(socketID_code.entries());
//Objectに変換する。
console.log(socketID_codeObject);

console.log("--ObjectをMap Objectに変換する。--");

// Objectをforeach文で表示させる。
// Object.entries(Object) は、Objectの各プロパティを [key, value] の形式で持つ配列として返す。
Object.entries(socketID_codeObject).forEach(element => console.log("element = "+element));

// Object.entries(socketID_codeObject)でObjectを2次元配列に変換する。
// new Map(2次元配列)でMap Objectの変換する。
const socketID_codeMap = new Map(Object.entries(socketID_codeObject));
//Objectに変換する。
console.log(socketID_codeMap);

//socketID_codeMapのkeyとvalueを全て表示させる。
socketID_codeMap.forEach((value, key) => {
  console.log(`Key: ${key}, Value: ${value}`);
});

/*
--Map ObjectをObjectに変換する。--
element = (2) ['socket1', 'code1']
element = (2) ['socket2', 'code2']
element = (2) ['socket3', 'code3']
{socket1: 'code1', socket2: 'code2', socket3: 'code3'}
--ObjectをMap Objectに変換する。--
element = socket1,code1
element = socket2,code2
element = socket3,code3
Map(3) {size: 3, socket1 => code1, socket2 => code2, socket3 => code3}
Key: socket1, Value: code1
Key: socket2, Value: code2
Key: socket3, Value: code3
*/

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*