1
对象的两个数组在MySQL中,如果我有两个表是这样的:加入物业
appointments
appointment_id patient_id appointment_time
-------------------------------------------------------
1 42 2017-10-17 08:00:00
2 43 2017-10-17 08:30:00
和
patients
patient_id name
---------------------------
42 Joe Smith
43 Sally Sue
44 Jim Bob
那么我可以离开连接两个表这样
SELECT *
FROM appointments
LEFT JOIN patients ON appointments.patient_id = patients.patient_id
我会得到这样的结果:
appointment_id patient_id appointment_time patient_id name
----------------------------------------------------------------------------------
1 42 2017-10-17 08:00:00 42 Joe Smith
2 43 2017-10-17 08:30:00 43 Sally Sue
所以我的问题是,在Javascript(ES6 +),如果我有对象的两个数组是这样的:
const appointments = [
{
appointmentId: 1,
patientId: 42,
appointmentTime: '2017-10-17 08:00:00'
},
{
appointmentId: 2,
patientId: 43,
appointmentTime: '2017-10-17 08:30:00'
}
];
和
const patients = [
{
patientId: 42,
name: 'Joe Smith'
},
{
patientId: 43,
name: 'Sally Sue'
},
{
patientId: 44,
name: 'Jim Bob'
}
];
我怎么能离开加盟患者阵列到基于patientId
属性的约会数组?
[
{
appointmentId: 1,
patientId: 42,
appointmentTime: '2017-10-17 08:00:00',
name: 'Joe Smith'
},
{
appointmentId: 2,
patientId: 43,
appointmentTime: '2017-10-17 08:30:00',
name: 'Sally Sue'
}
]
我知道,有一个在lodash的unionBy
方法,但将删除约会对象的属性。
,而不是'名称:p.name'末,你可以使用'... p'病人的所有道具合并。 –
@BrianGlaz当然!我已经改变了答案,谢谢 – dhilt
我会倾向于交换'病人'和'约会',所以结果是1:1映射到约会的问题问:p –