A want to merge two array of objects. The arrays are as follows :
let vehicle_data = [
{
"id": 1,
"make_text": "Peugeot",
"model_text": "307",
"color_text": "Bleu",
"category_text": "CT",
"vin": "654321",
"autralis_id": 0
}
]
let vehicle_slot_data = [
{
"vehicle_id": 1,
"zone": "T",
"side": "B",
"col": 2,
"handled": 0,
"uploaded": 0
},
{
"vehicle_id": 1,
"zone": "A",
"side": "E",
"col": 1,
"handled": 0,
"uploaded": 0
}
]
I want to merge these two. Thus the result that I want is:
let result = [
{
"id": 1,
"make_text": "Peugeot",
"model_text": "307",
"color_text": "Bleu",
"category_text": "CT",
"vin": "654321",
"autralis_id": 0,
"vehicle_id": 1,
"zone": "T",
"side": "B",
"col": 2,
"handled": 0,
"uploaded": 0
},
{
"id": 1,
"make_text": "Peugeot",
"model_text": "307",
"color_text": "Bleu",
"category_text": "CT",
"vin": "654321",
"autralis_id": 0,
"vehicle_id": 1,
"zone": "A",
"side": "E",
"col": 1,
"handled": 0,
"uploaded": 0
}
]
I tried to do it as follows:
let result = [];
vehicle_data.map(i => {
vehicle_slot_data.map(j => {
if (j.vehicle_id === i.id && j.handled === 0){
result.push(Object.assign(i, j));
}
})
});
But with that I get the result with two same objects:
let result = [
{
autralis_id: 0,
category_text: "CT",
col: 1,
color_text: "Bleu",
handled: 0,
id: 1,
make_text: "Peugeot",
model_text: "307",
side: "E",
uploaded: 0,
vehicle_id: 1,
vin: "654321",
zone: "A"
},
{
autralis_id: 0,
category_text: "CT",
col: 1,
color_text: "Bleu",
handled: 0,
id: 1,
make_text: "Peugeot",
model_text: "307",
side: "E",
uploaded: 0,
vehicle_id: 1,
vin: "654321",
zone: "A"
}
]
Any advice?