Object.assign()でこれを行うことができます。場合によっては配列が必要ですが、OData呼び出しなど、単一のJSONオブジェクトを期待する関数を使用する場合、このメソッドは配列を作成してそれをアンパックするよりも簡単であることがわかりました。
var alerts = {
1: {app:'helloworld',message:'message'},
2: {app:'helloagain',message:'another message'}
}
alerts = Object.assign({3: {app:'helloagain_again',message:'yet another message'}}, alerts)
//Result:
console.log(alerts)
{
1: {app:'helloworld',message:'message'},
2: {app:'helloagain',message:'another message'}
3: {app: "helloagain_again",message: "yet another message"}
}
編集:次のキーの取得に関するコメントに対処するには、Object.keys()関数を使用してキーの配列を取得できます。キーをインクリメントする例については、Vadiの回答を参照してください。同様に、Object.values()ですべての値を取得し、Object.entries()でキーと値のペアを取得できます。
var alerts = {
1: {app:'helloworld',message:'message'},
2: {app:'helloagain',message:'another message'}
}
console.log(Object.keys(alerts))
// Output
Array [ "1", "2" ]