NEWS
Zeiten filtern Array
-
Hallo Paul,
habs mal getestet, aber immer noch selbes Problem.
hier mein Test ArraytibberPoiAll = [[0.3659,"18:00","18:30"],[0.3659,"18:30","19:00"],[0.3657,"17:00","17:30"],[0.3657,"17:30","18:00"],[0.3631,"19:00","19:30"],[0.3631,"19:30","20:00"],[0.3559,"16:00","16:30"],[0.3559,"16:30","17:00"],[0.3553,"20:00","20:30"],[0.3553,"20:30","21:00"],[0.3486,"22:00","22:30"],[0.3486,"22:30","23:00"],[0.3454,"21:00","21:30"],[0.3454,"21:30","22:00"],[0.3433,"08:00","08:30"],[0.3408,"23:00","23:30"],[0.3408,"23:30","00:00"],[0.3356,"07:00","07:30"],[0.3356,"07:30","08:00"],[0.3232,"00:00","00:30"],[0.3232,"00:30","01:00"],[0.3194,"06:00","06:30"],[0.3194,"06:30","07:00"],[0.3148,"05:00","05:30"],[0.3148,"05:30","06:00"],[0.3147,"01:00","01:30"],[0.3147,"01:30","02:00"],[0.3142,"02:00","02:30"],[0.3142,"02:30","03:00"],[0.3097,"04:00","04:30"],[0.3097,"04:30","05:00"],[0.3083,"03:00","03:30"],[0.3083,"03:30","04:00"]] tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, '09:00', '01:00');rauskommen tut dabei
[ [ 0.3659, '18:00', '18:30' ], [ 0.3659, '18:30', '19:00' ], [ 0.3657, '17:00', '17:30' ], [ 0.3657, '17:30', '18:00' ], [ 0.3631, '19:00', '19:30' ], [ 0.3631, '19:30', '20:00' ], [ 0.3559, '16:00', '16:30' ], [ 0.3559, '16:30', '17:00' ], [ 0.3553, '20:00', '20:30' ], [ 0.3553, '20:30', '21:00' ], [ 0.3486, '22:00', '22:30' ], [ 0.3486, '22:30', '23:00' ], [ 0.3454, '21:00', '21:30' ], [ 0.3454, '21:30', '22:00' ], [ 0.3433, '08:00', '08:30' ], [ 0.3408, '23:00', '23:30' ], [ 0.3408, '23:30', '00:00' ], [ 0.3356, '07:00', '07:30' ], [ 0.3356, '07:30', '08:00' ], [ 0.3232, '00:00', '00:30' ], [ 0.3232, '00:30', '01:00' ], [ 0.3194, '06:00', '06:30' ], [ 0.3194, '06:30', '07:00' ], [ 0.3148, '05:00', '05:30' ], [ 0.3148, '05:30', '06:00' ], [ 0.3147, '01:00', '01:30' ], [ 0.3147, '01:30', '02:00' ], [ 0.3142, '02:00', '02:30' ], [ 0.3142, '02:30', '03:00' ], [ 0.3097, '04:00', '04:30' ], [ 0.3097, '04:30', '05:00' ], [ 0.3083, '03:00', '03:30' ], [ 0.3083, '03:30', '04:00' ] ]wenn ich die Zeit vor 0 Uhr rein nehme, wird richtig gefiltert, also in dem Fall von 21:00 Uhr bis 9:00 Uhr
tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, '09:00', '21:00');Ausgabe:
[ [ 0.3486, '22:00', '22:30' ], [ 0.3486, '22:30', '23:00' ], [ 0.3454, '21:00', '21:30' ], [ 0.3454, '21:30', '22:00' ], [ 0.3433, '08:00', '08:30' ], [ 0.3408, '23:00', '23:30' ], [ 0.3408, '23:30', '00:00' ], [ 0.3356, '07:00', '07:30' ], [ 0.3356, '07:30', '08:00' ], [ 0.3232, '00:00', '00:30' ], [ 0.3232, '00:30', '01:00' ], [ 0.3194, '06:00', '06:30' ], [ 0.3194, '06:30', '07:00' ], [ 0.3148, '05:00', '05:30' ], [ 0.3148, '05:30', '06:00' ], [ 0.3147, '01:00', '01:30' ], [ 0.3147, '01:30', '02:00' ], [ 0.3142, '02:00', '02:30' ], [ 0.3142, '02:30', '03:00' ], [ 0.3097, '04:00', '04:30' ], [ 0.3097, '04:30', '05:00' ], [ 0.3083, '03:00', '03:30' ], [ 0.3083, '03:30', '04:00' ] ]@diamand2k22 sagte: rauskommen tut dabei
Ja, alle Zeiten sind >= 1 (Uhr).
Was soll das Ergebnis sein? -
@diamand2k22 sagte: rauskommen tut dabei
Ja, alle Zeiten sind >= 1 (Uhr).
Was soll das Ergebnis sein?so sieht der Filter aus: tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, _sunup, nowhour);
_sunup = Zeit Sonnenaufgang z.B. 9:00
nowhour ist die aktuelle Zeit z.B. 01:00es sollen jetzt die Zeiten aus dem Array zwischen 1 Uhr und 9 Uhr ausgegeben werden, aber es werden auch die Zeiten nach 9 Uhr ausgegeben.
wie gesagt, wenn nowhour 23:00 ist, dann funktioniert der Filter bis 9:00 Uhr, wenn nowhour nach 0:00 Uhr dann werden auch Zeiten größer 9 Uhr ausgegeben
-
so sieht der Filter aus: tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, _sunup, nowhour);
_sunup = Zeit Sonnenaufgang z.B. 9:00
nowhour ist die aktuelle Zeit z.B. 01:00es sollen jetzt die Zeiten aus dem Array zwischen 1 Uhr und 9 Uhr ausgegeben werden, aber es werden auch die Zeiten nach 9 Uhr ausgegeben.
wie gesagt, wenn nowhour 23:00 ist, dann funktioniert der Filter bis 9:00 Uhr, wenn nowhour nach 0:00 Uhr dann werden auch Zeiten größer 9 Uhr ausgegeben
@diamand2k22 sagte: Zeiten aus dem Array zwischen 1 Uhr und 9 Uhr
Versuche es mal so:
if(parseInt(zeit2) > parseInt(zeit1)) { if(startTime <= parseInt(zeit1) || startTime >= parseInt(zeit2)) newArray.push(arrZeit[i]); } else { if(startTime <= parseInt(zeit1) && startTime >= parseInt(zeit2)) newArray.push(arrZeit[i]); } -
@diamand2k22 sagte: Zeiten aus dem Array zwischen 1 Uhr und 9 Uhr
Versuche es mal so:
if(parseInt(zeit2) > parseInt(zeit1)) { if(startTime <= parseInt(zeit1) || startTime >= parseInt(zeit2)) newArray.push(arrZeit[i]); } else { if(startTime <= parseInt(zeit1) && startTime >= parseInt(zeit2)) newArray.push(arrZeit[i]); }ich glaub das war es:
tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, '09:00', '01:00');[ [ 0.3433, '08:00', '08:30' ], [ 0.3356, '07:00', '07:30' ], [ 0.3356, '07:30', '08:00' ], [ 0.3194, '06:00', '06:30' ], [ 0.3194, '06:30', '07:00' ], [ 0.3148, '05:00', '05:30' ], [ 0.3148, '05:30', '06:00' ], [ 0.3147, '01:00', '01:30' ], [ 0.3147, '01:30', '02:00' ], [ 0.3142, '02:00', '02:30' ], [ 0.3142, '02:30', '03:00' ], [ 0.3097, '04:00', '04:30' ], [ 0.3097, '04:30', '05:00' ], [ 0.3083, '03:00', '03:30' ], [ 0.3083, '03:30', '04:00' ] ]tibberPoihigh = await filterZeitVonXXToXX(tibberPoiAll, '09:00', '21:00');[ [ 0.3486, '22:00', '22:30' ], [ 0.3486, '22:30', '23:00' ], [ 0.3454, '21:00', '21:30' ], [ 0.3454, '21:30', '22:00' ], [ 0.3433, '08:00', '08:30' ], [ 0.3408, '23:00', '23:30' ], [ 0.3408, '23:30', '00:00' ], [ 0.3356, '07:00', '07:30' ], [ 0.3356, '07:30', '08:00' ], [ 0.3232, '00:00', '00:30' ], [ 0.3232, '00:30', '01:00' ], [ 0.3194, '06:00', '06:30' ], [ 0.3194, '06:30', '07:00' ], [ 0.3148, '05:00', '05:30' ], [ 0.3148, '05:30', '06:00' ], [ 0.3147, '01:00', '01:30' ], [ 0.3147, '01:30', '02:00' ], [ 0.3142, '02:00', '02:30' ], [ 0.3142, '02:30', '03:00' ], [ 0.3097, '04:00', '04:30' ], [ 0.3097, '04:30', '05:00' ], [ 0.3083, '03:00', '03:30' ], [ 0.3083, '03:30', '04:00' ] ]jetzt sieht's gut aus! vielen Dank für deine Hilfe!
-
@diamand2k22 sagte: die kleinste Uhrzeit
Das funktioniert z.B. mit einem String-Vergleich.
const arr = [ [ 0.2425, '03:00', '03:30' ], [ 0.2425, '03:30', '04:00' ], [ 0.2434, '02:00', '02:30' ], [ 0.2434, '02:30', '03:00' ], [ 0.2492, '04:00', '04:30' ] ]; let first = '23:59'; for(const ele of arr) { if(ele[1] < first) first = ele[1]; }; log(first);@paul53 said in Zeiten filtern Array:
@diamand2k22 sagte: die kleinste Uhrzeit
Das funktioniert z.B. mit einem String-Vergleich.
const arr = [ [ 0.2325, '23:00', '23:30' ], [ 0.2425, '03:00', '03:30' ], [ 0.2425, '03:30', '04:00' ], [ 0.2434, '02:00', '02:30' ], [ 0.2434, '02:30', '03:00' ], [ 0.2492, '04:00', '04:30' ] ]; let first = '23:59'; for(const ele of arr) { if(ele[1] < first) first = ele[1]; }; log(first);Hallo @paul53, ich habe hier selbiges Problem wie bei dem Skript davor, dass er Zeiten, die vor 00:00 Uhr sind, nicht berücksichtig. Die Variable first ist bei dem Array 00:00, müsste aber 23:00 sein. Kannst du mir hier weiterhelfen?
Danke dir!
-
bräuchte nochmal deine Hilfe.
folgendes Array:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]der code ist:
let first = '23:59'; for(const ele of arr) { if(ele[1] < first) first = ele[1]; };er gibt als Uhrzeit 02:30 Uhr aus, normal sollte es doch 02:00 Uhr sein oder?
-
bräuchte nochmal deine Hilfe.
folgendes Array:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]der code ist:
let first = '23:59'; for(const ele of arr) { if(ele[1] < first) first = ele[1]; };er gibt als Uhrzeit 02:30 Uhr aus, normal sollte es doch 02:00 Uhr sein oder?
@diamand2k22 sagte; sollte es doch 02:00 Uhr sein oder?
Ja, es sollte die erste Zeit genommen werden, denn sie ist kleiner.
-
@diamand2k22 sagte; sollte es doch 02:00 Uhr sein oder?
Ja, es sollte die erste Zeit genommen werden, denn sie ist kleiner.
habe gerade nochmal im Log geschaut,
wenn das Array so aussieht:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ]dann gibt er 02:00 aus
wenn das Array aber so aussieht:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]dann gibt er 02:30 Uhr aus.
anscheinend gibt es ein Problem wenn 2x 02:30 Uhr im Array steht
-
habe gerade nochmal im Log geschaut,
wenn das Array so aussieht:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ]dann gibt er 02:00 aus
wenn das Array aber so aussieht:
[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]dann gibt er 02:30 Uhr aus.
anscheinend gibt es ein Problem wenn 2x 02:30 Uhr im Array steht
const arr = [[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]] let first = '23:59'; for(const ele of arr) { //@ts-ignore if(ele[1] < first) first = ele[1]; }; log(first)ignoriere das ts-ignore :)
javascript.0 23:15:11.732 info 02:00 -
const arr = [[ 0.3488, '03:00', '03:30' ], [ 0.3488, '03:30', '04:00' ], [ 0.3497, '02:00', '02:30' ], [ 0.3497, '02:30', '03:00' ]] let first = '23:59'; for(const ele of arr) { //@ts-ignore if(ele[1] < first) first = ele[1]; }; log(first)ignoriere das ts-ignore :)
javascript.0 23:15:11.732 info 02:00
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
