Це можна зробити за допомогою Object.assign () . Іноді вам потрібен масив, але під час роботи з функціями, які очікують одного об’єкта JSON - наприклад, виклику OData - я вважав цей метод більш простим, ніж створення масиву лише для його розпакування.
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"}
}
EDIT: Щоб вирішити коментар щодо отримання наступного ключа, ви можете отримати масив ключів за допомогою функції Object.keys () - див. Відповідь Ваді для прикладу збільшення ключа. Аналогічно, ви можете отримати всі значення за допомогою 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" ]