2017-02-15 115 views
0

如何在循環之外獲取循環值以下示例僅打印最後一個值,例如,如果我想打印循環結果。如何在循環外獲取循環值

var result; 

    for (var i=0; i < 10; i++) { 
      result = i; 
    } 

    console.log(result); 

現在,我怎樣才能得到它們是(1〜10)在控制檯中循環的迭代值,因爲現在我將只打印的最後一個值是10

+4

把'console.log(result)'放在循環中? – Evochrome

+0

*這是(1到10)* - 你有'0 - 10' – RomanPerekhrest

+0

循環的整個點是迭代! –

回答

4

把日誌語句在設置值的循環內部。

var result; 

for (var i=0; i < 10; i++) { 
    result = i; 
    console.log(result); 
} 

如果你只想要一個輸出語句,可以記錄之前串連結果:

var result = ""; 

for (var i=0; i < 10; i++) { 
    result += i + " "; 
} 

console.log(result); 

這將輸出0 1 2 3 4 5 6 7 8 9 10

+0

我不知道是誰低估了這一點,但這是一個非常有效的答案 - 您可能不喜歡這個問題,但請不要懲罰用戶提供有效答案。 Upvoted。 –

+0

這是什麼意思在var result =「」; –

+0

這意味着我已經將結果定義爲一個字符串,但是當我定義它時,我沒有它的價值,所以它是一個空字符串。如果我沒有這樣做,當我試圖放入它的第一個值是一個數字(i),然後嘗試添加一個字符串(「」)的空白分隔符時,它會混淆。 – Forklift

0

因爲你沒有添加jQuery的標籤我只使用的JavaScript。

添加輸入隱藏標籤

<input id="idOfInput" style="visibility:hidden" type="text"> 

設置所需的值加到輸入

for (var i=0; i < 10; i++) { 
result = i; 
document.getElementById('idOfInput').value = result; 
document.getElementById('idOfInput').change(); //note change() is to trigger the event 
} 

加入變化事件監聽器,並獲得環設置的值

var input = document.getElementById('idOfInput'); 
input.addEventListener('input', function() 
{ 
    console.log('input changed to: ', input.value); //you get the value here 
}); 

希望幫助

+0

你在說什麼? OP談到一個簡單的循環.... –

0

上面的回答是正確的,但我想爲你清楚它,所以你也瞭解它。
在您的原始代碼中,您已經在循環外部聲明瞭變量「result」,然後在每次迭代中將值分配給您的變量。因此,第一次圍繞「結果」= 0,第二個循環和「結果」= 1等等。

當for循環結束時,它會讀取下一行,它是變量「result」的console.log()語句。最後一次變量「結果」被修改是在第10次迭代中的for循環內部,也就是說讓它等於迭代器,因此迭代器的值爲11.

爲了在每次迭代中顯示某些內容,console.log()必須放置在循環中。檢查例如

var result; 
for (var i=0; i < 10; i++) { 
    result = i; 
    console.log(result); // prints at every iteration 
} 
0

下面如果你真的想記錄的循環之外,至極完全沒有必要在我看來,可以使用數組? :

var result=[]; 

for (var i=0; i < 10; i++) { 
     result.push(i); 
} 
console.log(...result); 

http://jsbin.com/gogeluhavi/edit?console

如果你想導致做出神奇日誌,你可以使用setter和代理,所謂的觀測量。

將結果= 10輸入到該控制檯中,ive爲您實施了Observable:http://jsbin.com/xacujabuwo/edit?console;你也可以粘貼你的for循環...