Ciò che segue mi confonde molto. Come notato nei commenti, i paragoni sembrano funzionare da soli, ma quando messi insieme non lo fannoJavascript "==" operatore bugie
Il tempo dovrebbe essere eseguito per tutti i giorni nello stesso mese, quindi incrementare i dati per uno, quindi ricominciare da capo.
Ho allacciato l'intera sequenza con console.log per cercare di capirlo, ma non ha alcun senso. Tutto sembra uguale l'un l'altro, ma continua a fallire il test "==" nell'istruzione while.
var i=0;
var currentdate = 0;
var currentmonth = 0;
var opensmonth = 0;
var opens = [
{ "date":"3/30/2006","zip":"30038","latitude":"33.676358","longitude":"-84.15381"},
{ "date":"4/31/2006","zip":"30519","latitude":"34.089419","longitude":"-83.94701"}
];
intid = setInterval("stepthrough()", 250);
function stepthrough() {
//figure out first date.
if (currentdate == 0) { // we've not been run before
currentdate = opens[0]["date"];
currentmonth = currentdate.split("/", 1);
console.log("Current Month: >" + currentmonth +"<");
}
console.log("Current month: " + currentmonth + " And opensdate: " + opens[i]["date"].split("/", 1));
//
// TWILIGHT ZONE ENTERED.
//
if (currentmonth == 3) {
console.log("Current month equals 3."); // PASSES
}
if (opens[i]["date"].split("/", 1) == 3) {
console.log("Opens date equals 3."); // PASSES
}
// BOTH THE ABOVE TESTS PASS IN CHROME AND SAFARI WHAT THE F*$K JAVASCRIPT
while(opens[i]["date"].split("/", 1) == currentmonth) { // WHY DOESNT THIS WORK I HATE COMPUTERS
console.log("Trying to add a point one.");
addpoint(i);
i++;
console.log("Trying to add a point.");
}
//set the date for next iteration
currentdate = opens[i]["date"];
currentmonth = currentdate.split("/", 1);
console.log ("Current date is now: " + currentdate + " and current month is now: " + currentmonth);
jQuery('div#date').text(currentdate);
//if (i>=5000) {
if (!opens[i]["date"]) {
console.log("Clearing interval");
clearInterval(intid);
//jQuery('div#date').text("Limited at 5000 records")
}
}
provare a utilizzare 'parseInt (stringValue, 10)'. –
Cosa succede se usi '===' nella riga '// WHY DOESNT THIS WORK'? [Questa risposta] (http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use/359509#359509) suggerisce che '==' è malvagio e non ci si può fidare. – CanSpice
Sinceramente non vedo una domanda qui. –