2016-07-31 101 views
-4

嗨由於某種原因控制檯正在返回給我SyntaxError:意外的令牌其他,但我真的不知道這個問題,有人可以幫我嗎?If/Else statement in a loop,javascript

lineN = ["Times Square", "34th", "28th", "23rd", "Union Square", "8th"]; 
storeStops = []; 

function input (start, stop){ 

    if (lineN.indexOf(start)<lineN.indexOf(stop)){ 
     for (var fwd =lineN.indexOf(start) ; fwd < lineN.indexOf(stop) ;foward++); 
     fwd.push(storeStops); 
    }} 
    else {for (var bwd =lineN.indexOf(start) ; bwd < lineN.indexOf(stop) ;bwd--); 
     bwd.push(storeStops) 
    }; 
+3

'if'條件下面3行,有一個雙鬍子,刪除一個到最後關閉函數關鍵字 – wonyeouuu

+0

將你的代碼粘貼到http://jsbeautifier.org/並讓它縮進它,並且你的錯誤將非常明顯。 – jfriend00

+0

除了@ wonyeouuu的評論之外,在'for'之後有''',這將停止循環。更重要的是,'fwd = lineN.indexOf(start)'然後'fwd.push(storeStops)'。你不能推到一個變量。 'push'是數組的一個函數。此外,你不增加'fwd',這將使它永遠不會結束循環。 – Rajesh

回答

1

這工作:

var lineN = ["Times Square", "34th", "28th", "23rd", "Union Square", "8th"]; 
var storeStops = []; 

function input (start, stop) { 
    if (lineN.indexOf(start) < lineN.indexOf(stop)) { 
    for (var fwd =lineN.indexOf(start) ; fwd < lineN.indexOf(stop) ;foward++); 
    fwd.push(storeStops); 
    } else { 
    for (var bwd =lineN.indexOf(start) ; bwd < lineN.indexOf(stop) ;bwd--); 
    bwd.push(storeStops); 
    } 
} 

你應該正確地縮進代碼,使這些東西更容易捕捉。你在這裏和那裏錯過了幾個大括號和括號。另外,在JavaScript中if/else塊之後沒有;

+0

即使這樣也行不通。在發佈之前請執行您的代碼一次。在'for'和'fwd |之後有';' bwd'是變量而不是'數組'。它應該是反向的'storeStops.push(...)'。我也低估了你的答案。有些如何變成upvote。奇怪!有些SO錯誤。 – Rajesh

+0

這將起作用。你不知道OP的邏輯是什麼。作者似乎正在增加'foward'幾次,這就是爲什麼我在for循環之後保留';'的原因。這可能是他想要的。 –

+0

如果是這樣,你可以建議OP使用'stopIndex-startIndex'來代替循環。另外'fwd.push'將永遠不會工作。無論。你應該確認這是否是OP想要的。在我的理解中,ge希望索引範圍在2個單詞之間。 – Rajesh