Вот мой Array.Слияние массивов с одинаковым идентификатором
Я хочу объединить массивы, имеющие тот же _id, т. Е. 86ded3fdfc5f92724491f82 Как я могу это сделать? Я делаю так, чтобы создать массив.
dinnerDrug.push({
'_id': value._id,
'name': value.medicine_name,
'count': value.dose_dinner_count,
'type': value.medicine_type,
'consume': value.dose_dinner_consume,
'comment': value.medicine_comment
});
dinnerArray.push({
'_id': value.doctor_id,
'doctor_name': value.doctor_name,
'doctor_dept': 'Cardiologist',
'prescription': dinnerDrug
});
Я попытался удалить dupliate как этот
morningArray.forEach(function(val) {
if (val._id == value.doctor_id) {
morningArray.prescription.push(morningDrug)
} else {
morningArray.push({
'_id': value.doctor_id,
'doctor_name': value.doctor_name,
'doctor_dept': 'Cardiologist',
'prescription': morningDrug
});
}
});
Но дубликат массива не удаляется, а он говорит, что ошибка в толчке не определен. Какую ошибку я делаю и как я могу это исправить?
Ожидаемый результат должен быть таким:
{
"_id": "586ded3fdfc5f92724491f82",
"doctor_name": "asd asd",
"doctor_dept": "Cardiologist",
"prescription": [
{
"_id": "586dfdbe98c23d1a200cfb3f",
"name": "ALPHACAINE N, solution injectable à usage dentaire",
"count": "1",
"type": "0",
"consume": "0",
"comment": "test"
},
{
"_id": "586dfda498c23d1a200cfb3b",
"name": "ALPHACAINE N, solution injectable à usage dentaire",
"count": "1",
"type": "0",
"consume": "0",
"comment": "test"
}
]
}
Примечание: Я хочу сделать это только в JavaScript
Это может помочь: http://codereview.stackexchange.com/questions/60128/removing-duplicates-from-an-array-quickly – Rajesh
Когда ты проверьте наличие дубликатов, думаю, эта строка 'morningArray.prescription.push (morningDrug)' должна быть 'val.prescription.push (morningDrug)'. 'morningArray' не имеет никакого свойства' prescription', не так ли? –
Я тоже это пробовал .. 'val.prescription.push (morningDrug)' stil, который делает массив пустым –