如果你只是想那些项目,你知道数组的内容,您有几种选择:
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 ++'做什么? –
好点。那么,我正在学习。 –