app.post('/checkTimes', (req, res) => { let date = req.body.date; let times = [ "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30", "20:00", "20:30", "21:00", ]; connection.query("SELECT time FROM appointments WHERE date = ?", [date], (err, result) => { if(err) throw err; let timesToReturn = []; // Get all times that are not between start time and end time for(let i = 0; i < times.length; i++) { let found = false; for(let j = 0; j < result.length; j++) { if(times[i] == result[j].time) { found = true; break; } } if(!found) timesToReturn.push(times[i]); } res.status(200).send(timesToReturn); }); });Entonces, tengo esto. Solo verifica la hora de inicio en este momento, pero quiero que elimine todas las horas que están entre el inicio y el final. No estoy seguro de cómo hacerlo. Si alguien pudiera ayudarme, se lo agradecería mucho. Por ejemplo, si tengo una cita entre las 16:00 y las 17:30, quiero que se elimine a las 16:00, 16:30 y 17:00.
app.post('/checkTimes', (req, res) => { let date = req.body.date; let times = [ "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30", "20:00", "20:30", "21:00", ]; connection.query("SELECT time, endTime FROM appointments WHERE date = ?", [date], (err, [result]) => { if(err) throw err; if(result) { let timesToReturn = [...times.slice(0, times.indexOf(result.time)), ...times.slice(times.indexOf(result.endTime))]; res.status(200).send(timesToReturn); } else { res.status(200).send(times); } }); });