¿Hay alguna manera de conectar queued_Dr
a upcoming_appointments
usando all_appointments
¿Cuál sería el mejor enfoque para este problema?
var queued_Dr = ["Dr.Salazar",["Dr.Connors","Dr.Johnson"],"Dr.Pearson"] upcoming_appointments = [{"DOB":"01-27-2002","name":"Judy, W." ,"PCD":"Dr-S"} ,{"DOB":"08-15-1995","name":"John, V." ,"PCD":"Dr-C"} ,{"DOB":"07-05-1992","name":"David, C.","PCD":"Dr-S"} ,{"DOB":"01-15-2002","name":"Anna, S." ,"PCD":"Dr-J"} ,{"DOB":"01-15-2002","name":"Jeff, D." ,"PCD":"Dr-P"}] all_appointments = {"0": ["Dr-S","New York","Dr.Salazar"], "1": ["Dr-C","Austin","Dr.Connors"], "2": ["Dr-J","Austin","Dr.Johnson"], "3": ["Dr-S","New York","Dr.Salazar"], "4": ["Dr-P","San Juan","Dr.Pearson"], "5": ["Dr-J","Austin","Dr.Johnson"]}
Resultado de la meta
"Dr.Salazar" -> "Dr-S" ["Dr.Connors","Dr.Johnson"] -> "Dr-C" or "Dr-J" "Dr.Pearson"] -> "Dr-P"
las entradas son queued_Dr
y upcoming_appointments.PCD
//Tried to see if the values where in the same dictionary function find_by_exception_name(dr_name) { return all_appointments.find((row) => row.upcoming_appointments == dr_name || row.upcoming_appointments.includes(dr_name)); } //would return true or false if a Doctors name from queued_Dr and upcoming appointments existed in all_appointments
Según la información que nos ha proporcionado, no necesita upcoming_appointments
en absoluto. El siguiente código le devolverá el resultado deseado.
const mapTo = (arrayWithNames) => { return arrayWithNames.map(name => { if (Array.isArray(name)) { return mapTo(name); } const appointment = Object.values(all_appointments) .find(appointment => appointment[2] === name); const upcommingAppointment = upcoming_appointments .find(currentAppointment => currentAppointment.PCD === appointment[0]) console.log(`This is the upcomming appointment for your doctor ${JSON.stringify(upcommingAppointment)}`) return `${name} -> ${appointment[0]}` }) } const result = mapTo(queued_Dr)
Además, formatee su código correctamente. En JavaScript, no es una buena práctica colocar llaves de apertura en una nueva línea, ya que esto podría causar un resultado inesperado en algunos escenarios.
Editar: agregué console.log para que pueda ver la cita adecuada para su médico, pero no ha explicado cómo desea usarlo.