最近オブジェクトについて勉強する機会があったので、アウトプット。
const array1 = {
"aaaaa":{sss:"ええええ",ddd:"うううう"},
"xxxxx":{sss:"ええええ",ddd:"うううう"}
};
//キーである"aaaaa"と"xxxxx"をそれぞれの右側のオブジェクトにidをキーにして代入したい。
let array2 = [];
Object.keys(array1).forEach((Doc) => {
array2.push({...array1[Doc], id: Doc});
});
console.log(array2);
//=>[ddd: "うううう",id: "aaaaa",sss: "ええええ"],[ddd: "うううう",id: "xxxxx",sss: "ええええ"]
ポイントは...array1
で使われている...
は スプレッド構文
というものらしい。
スプレッド構文
を使うと {sss:"ええええ",ddd:"うううう"}
で囲まれている{}
中括弧を外すことができる。これでオブジェクトの中身をそのまま別のオブジェクトの中で扱えました。