2015-09-04 68 views
0

此代碼現在使14。它怎麼能使41(從上到下)?(JS)使for循環功能從最後到第一個

var nb = 4; 
var first = ' active'; 
if (nb > 1) { 
    for (var i = 1; i <= nb; i++) { 
     page = page+'<span class="to-step-nb'+first+'">'+0+String(i)+'</span>'; 
     first = ''; 
    } 
} 
+1

您的代碼缺少'}'BTW。 – Andy

+0

有一千種方法可以向後循環,我相信你可以比寫這個問題的時間快得多,但是在這裏你可以去,我最喜歡的向後循環:'for(var i = len ;我 - > 1;){..}' – Jite

+0

可能重複[什麼是最有效的方法來扭轉在Javascript數組?](http://stackoverflow.com/questions/5276953/what-is-the -a-array-in-javascript) – romuleald

回答

1
  1. nbnumberstring
  2. 你在最後
  3. 使用條件

    for (var i = nb; i > 0; i--) 
    

    扭轉循環失蹤}

  4. String(i)不需要

  5. first設置爲空字符串,第一個循環之後,所以現在,你必須主動

  6. if (nb > 1)最後一個項目,不是必需的,因爲如果條件失敗,for不會執行

  7. 您可以使用速記a = a + ..a += ..

代碼:

var nb = 4; 
var first = ' active'; 

for (var i = nb; i > 0; i--) { 
    page += '<span class="to-step-nb' + first + '">' + 0 + i + '</span>'; 
    first = ''; 
} 
+0

問題現在它認爲4是第一個,並且向類增加了第一個+,我怎樣才能使第一個1所以1會得到+ first + class ? –

+0

使用if語句循環來檢查並添加 – Tushar

+0

請你告訴我,因爲我沒有JS知識(因爲我不知道!) –

0
for (var i = nb; i >= 1; i--) { 
    // do something 
}