技術ブログ

プログラミング、IT関連の記事中心

JavaScriptでオブジェクトに特定のキーが存在しない場合に追加する方法

目次

目的

指定されたキーの配列を参照し、そのキーが既存のオブジェクトに存在しない場合、新たに追加したいと考えています。

例えば、以下のようなオブジェクトが既存で存在しています。

{ 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に存在することを保証します。