我試圖捕獲forEach循環中的最後一種情況,但所有情況似乎都是假而不是最後一種情況爲真。我的代碼:Javascript If If not Evaluating True
for(var i in networks){
if (i == (networks.length - 1)){
//do stuff
}
}
怎麼回事?
我試圖捕獲forEach循環中的最後一種情況,但所有情況似乎都是假而不是最後一種情況爲真。我的代碼:Javascript If If not Evaluating True
for(var i in networks){
if (i == (networks.length - 1)){
//do stuff
}
}
怎麼回事?
試試這個:
for(var i = 0, j = networks.length; i < j; i++){
if (i == (j - 1)){
//do stuff
}
}
我個人鄙視在JavaScript中for...in
循環,因爲它帶來到圖片一大堆不需要的特性,這是不可靠的 - 需要一噸理智的檢查,以確保當前屬性不是不需要的類型或未定義的類型。我可以繼續談論這件事。我建議你唯一一次使用認爲是當你迭代對象並且你需要關鍵值時。
+1 - 如果你需要知道「in ... in」語法中「for ... in」語法的語法糖是否會很快失去光澤循環你是相對於開始/結束。 – inkedmn 2010-06-22 19:08:47
奇特。爲什麼這是可行的,但是使用'for in'中的索引不起作用?我本來希望使用'for in'來提高可讀性,但如果這是它的唯一工作方式,那就這樣吧。 – 2010-06-22 19:13:01
請注意'for in'會遍歷每個對象並返回關聯數組中的鍵,不管它是整數,字符串等。失敗的一個原因是'網絡'不使用整數作爲鍵。 – 2010-06-22 19:19:28
如果網絡是從0到n的數字的數組,則應該有效。 ;)如果不是的話,你可能要考慮一個標準for
循環:
for(var i = 0; i < networks.length; i++) {
var network = networks[i]; // in case you need this.
if (i == (networks.length - 1)){
//do stuff
}
}
是您的索引數字(0,1,2,等等),或者是別的喜歡「鮑勃」,「貓」的東西, 「狗」,「富」? – HoLyVieR 2010-06-22 19:14:34
我的索引是數字,當我打印出它時,它從0到(n-1) – 2010-06-22 19:16:43