Quiero que mi archivo json se edite cuando la hora/fecha dada sea del pasado. Intenté eliminar terminar [0] pero esto no elimina la parte del archivo.
Mi archivo json
[{ "datum": "2020-10-10T10:00:00", "event": "..." }, { "datum": "2021-10-10T10:00:00", "event": "..." },... ]Mi código
let termine = JSON.parse(fs.readFileSync("/home/pi/NeonBot/termine.json", "utf8")) var now = new Date(); var date = termine[0].datum date = new Date(date) do { delete termine[0] console.log(`Deleted Event`) } while (date < now)Tienes un ciclo infinito, porque nunca actualizas la date en el ciclo.
También debe verificar la condición antes de eliminar, no después.
while (new Date(termine[0].datum_) < now) { delete termine[0]; console.log("Deleted Event"); } En lugar de eliminar un elemento a la vez, busque el índice del primer elemento que desee conservar y, a continuación, elimine todos los elementos anteriores con splice .
let index = termine.findIndex(event => new Date(event.datum) >= now); if (index > 0) { termine.splice(0, index); } fs.writeFileSync("/home/pi/NeonBot/termine.json", JSON.stringify(termine), "utf8");