Вы можете сделать это с помощью 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"}
}
РЕДАКТИРОВАТЬ: Чтобы обратиться к комментарию относительно получения следующего ключа, вы можете получить массив ключей с функцией 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" ]