如果你只是想那些項目,你知道數組的內容,您有幾種選擇:
var months = ["January", "February", "March", "April",
"May", "June", "July","August", "September",
"October","November", "December"];
// For Loop
for (var i = 4; i <= 7; i++) {
alert(months[i]);
}
沒有必要同時使用切for
循環。你已經知道你感興趣的是哪些指數,所以你可以遍歷該範圍。一般而言,這也是這些選擇中最有效的。
// Slice and for-loop
var selected = months.slice(4,7);
for (var i = 0; i < selected.length; i++) {
alert(selected[i]);
}
你可以先切片,然後在整個(新)陣列的for
循環迭代。一般來說,你不會這樣做。但是,如果縮小數組的條件更加複雜,那麼可能有理由先創建數組然後再遍歷它,所以這裏是一個乾淨的例子。
// Slice and forEach
months.slice(4,7).forEach(function(x) {alert(x);});
這將是我個人的選擇,因爲它很簡潔。它與切片和循環示例(性能稍低,但不是您需要關注的方式)實際上是一樣的,只是使用Array.prototype.forEach()
而不是單獨的for
循環表示。
你覺得'.slice'返回什麼?它返回一個**數組**。如果'i'是一個數組,你究竟期望'i ++'做什麼? –
好點。那麼,我正在學習。 –