2014-11-02 18 views
0

我想添加一週的6天到我的星期陣列,並想知道做到這一點的最佳方法。如何在我的示例中將值推入數組?

我有類似

var week = []; 
//monday is monday time I calculate eariler 
week.push(monday.setDate(monday.getDate())); 

for (var i = 0; i<=4; i++) { 
    var day = monday.setDate(monday.getDate() + 1); 
    week.push(day); 
} 

我把我的第1天以外的for循環,推動一天休息循環。我覺得代碼可以改進。有沒有人有想法?

謝謝!

+0

循環每次在數組中添加相同的值。在循環外添加日變量 – RahulB 2014-11-02 07:13:16

+0

但是...爲什麼你想要一個有6個相等天數的數組,爲什麼只有6個? – Dwza 2014-11-02 07:31:13

回答

1

我能看到的最好的改進是把它們都放在一個循環:

這應有助於:

var week = []; 
for (var i = 0; i<6; i++) { 
    var day = monday.setDate(monday.getDate() + 1); 
    week.push(day); 
} 

甚至更​​多的壓縮,但可以說是不易閱讀:

var week = []; 
for (var i = 0; i<6; i++) { 
    week.push(monday.setDate(monday.getDate() + 1)); 
} 

編輯:更正上面的代碼以反映日期的正確遞增。

編輯:感謝德扎校正!

+0

是OP的代碼差異? – Dwza 2014-11-02 07:24:20

+0

@Dwza而不是執行調用,然後加入一個循環來執行相同的調用,它被壓縮成一個單一的循環。 OP在要求改進,這就是我所看到的可以改進的地方。 :) – 2014-11-02 07:25:36

+1

我知道,我只是想知道,因爲在你的帖子中,「爲了改進」與「(造成問題)」有些相同。其實沒有問題:) – Dwza 2014-11-02 07:27:35