0

suggest i have this object of nested array

let order={
a:1
b:2
service:[
1:{a:1,b:3},
2:{a:3,b:4}
]
}

so i want to insert object to service array with new dynamic id i tried that

let serviceOrder={a:5,b:6}
let id=uuid4(); //example 4
let newSer={...order.service,id:serviceOrder}
```

but i get this

service:[
1:{a:1,b:3},
2:{a:3,b:4},
id:{a:5,b:6}
]

whereas i want to get this

service:[
1:{a:1,b:3},
2:{a:3,b:4},
3:{a:5,b:6}
]

so how i can do this thank in advance to help

Saddam Mohsen
  • 195
  • 2
  • 13
  • 3
    Does this answer your question? [JavaScript set object key by variable](https://stackoverflow.com/questions/11508463/javascript-set-object-key-by-variable) – A_A Oct 26 '21 at 18:35
  • To dynamically insert a value key, enclose the variable that is to be the key of the specific value in square brackets. – Petr Fořt Fru-Fru Oct 26 '21 at 18:35

2 Answers2

2

try this:

let id=uuid4(); //example 4
let newSer={...order.service,[id]:serviceOrder}

when you want to add dynamic key to object you can use [ ] and you can place your variable inside [ ]

Amin Taghikhani
  • 684
  • 1
  • 8
  • 22
1

You can also do it like this.

let newSer = {}
newSer[id] = serviceOrder
Alok Prakash
  • 191
  • 1
  • 9