2013-05-15 101 views
0

我有一個for循環,需要在每個迭代上返回的東西:返回for循環,但保持循環運行

for(var i=0;i<100;++i) { 
    return i; 
} 

但回報打破循環。我怎樣才能返回,但仍然需要循環運行?

+1

你期待它返回什麼呢? – Doorknob

+2

你不能。但是,您可以執行的操作是將返回值推送到數組中。你能更具體地說明你想達到的目標嗎? – Sutuma

+1

根據你的目標系統,['yield'](https://developer.mozilla.org/en-US/docs/JavaScript/New_in_JavaScript/1.7#Generators)可能是一個解決方案([so-question](http: //stackoverflow.com/questions/2282140/whats-the-yield-keyword-in-javascript))。 – Yoshi

回答

2

將您需要返回的值存儲在數組中,然後在循環之後返回數組。

10

將它存儲在一個數組中。

var array = []; 
for (var i = 0; i < 100; ++i) { 
    array.push(i); 
} 
+5

@ Doorknob這不是Java。 – Renan

+0

的想法一樣多。在這個例子中我不能使用數組。 –

+0

@MikeRifgin那你想讓它返回什麼? – Doorknob

5

這裏的背景還不清楚。如果您試圖爲循環的每次迭代執行一個函數,爲什麼不能像循環內調用一個函數那樣簡單?

for(var i=0;i<100;++i) { 
    processIteration(i) 
} 

processIteration你可以簡單地處理你需要發生的那個值。