Ich habe Probleme bei der Erfüllung einer If-Bedingung und ich habe keine Ideen mehr. Ich habe den Logger verwendet, um zu prüfen, ob die beiden Variablen identisch sind, und sie erscheinen identisch im Logger und der Code läuft gut. Hier ist mein Code:Zwei Objekte (Daten) sind im Logger identisch, erfüllen aber nicht die Bedingung "Wenn". Javascript/Google Scripts
//Get two ranges from Google sheets and turn into values, (inputValues and datesValues)
...
for (var i = 0; i < inputValues.length; i++) {
if ((inputValues[i][2].length > 0) && (inputValues[i][29].length > 0)) {
//This creates an event in Google Calendar. Works fine.
var eventNum = i;
Logger.log(datesValues[3][4]); // this is to test - results below
Logger.log(inputValues[eventNum][30]);
for (var k = 0; k < datesValues.length; k++) {
if (datesValues[k][4] == inputValues[eventNum][30]){
Logger.log("yes");
//Things in this loop that I want to do but can't.
}
}
}
}
Hier ist, was die Logger kehrt:
[16-12-12 09: 11: 50: 951 PST] Do 15. Dezember 20.00.00 GMT + 01: 00 2016
[16-12-12 09: 11: 50: 952 PST] Do 15. Dezember 20.00.00 GMT + 01: 00 2016
ich bin im Grunde nicht in der Lage, die zweiten "zu stolpern if
"Klausel, obwohl es eine" i
", so dass datesValues[3][4] == inputValues[eventNum][30]
. Diese Protokolle sehen für mich identisch aus! Die for-Schleife vor der if-Schleife funktioniert auch korrekt, datesValues.length = 50
.
Gibt es in Javascript etwas Ungewöhnliches über Daten und logische Operatoren, von denen ich nichts weiß?
Danke!
Verwendung eine weitere Variable in der zweiten 'for' Schleife statt' I' – azad
Sie melden 'datesValues [3] [4]', aber Test gegen 'datesValues [i] [4]'. Sind Sie sicher, dass die erste 'if'-Anweisung wahr ist, wenn' i = 3'? – canton7
@ JordanBurnett ist wahrscheinlich ein Tag, der von der Logger-Bibliothek hinzugefügt wurde. –