目次
目的
指定されたキーの配列を参照し、そのキーが既存のオブジェクトに存在しない場合、新たに追加したいと考えています。
例えば、以下のようなオブジェクトが既存で存在しています。
{ aaa: '1' }
そして、以下のようなキーの配列を参照します。
['aaa', 'bbb', 'ccc']
目指す結果は以下のようなオブジェクトです。
{ aaa: "1", bbb: "", ccc: "" }
実装
以下のコードは上記の目的を達成するための一つの方法を示しています。
「keys」「obj」を任意の値を想定しています。(ご希望の値に書き換えてください)
const keys = ['aaa', 'bbb', 'ccc']; const obj = { aaa: '1' }; const result = { ...obj }; for (const key of keys) { if (!(key in result)) { result[key] = ''; } } console.log(result);
objをresultにコピーします。
その後、keysの各キーに対して、そのキーがresultに存在しない場合は新たにそのキーと空文字列をresultに追加します。
これにより、全てのキーがresultに存在することを保証します。