คุณสามารถทำเช่นนี้กับ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 () - ดูคำตอบของ 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" ]