qua*_*ity 2 javascript arrays loops
我遇到了这个简单的代码问题,我无法弄清楚.而不是在控制台中打印整个数组,我收到消息"10 undefined".如果我把"var i"设置为0或者更低,那么这一切都很好,我从这个数字得到一个完整的列表,最多10个.
当"i"设置为大于0的数字时,为什么不能工作呢?在chrome中拍摄我的控制台图片,以显示它的样子:

var ar = [];
for (var i = 1; i <= 10; i++) {
ar.push(i);
console.log(ar[i]);
}
Run Code Online (Sandbox Code Playgroud)
JavaScript数组索引从0开始,而不是1.该.push()方法在数组的末尾添加一个元素,在空数组的情况下(就像你的循环开始时那样)将是数组元素0.
您的环插入值1数组索引0,该值2在数组索引1,和依此类推,直到所述值10在数组索引9.
您的每个console.log(ar[i])语句都试图从高于最高元素索引的索引中记录一个值,并且这些元素将始终是undefined.因此控制台将值记录undefined十次.
您可以像这样记录数组的最后一个元素:
console.log(ar[ar.length-1]);
Run Code Online (Sandbox Code Playgroud)
或者在您(现在)知道i将比使用的索引高一个的情况下.push():
console.log(ar[i-1]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28048 次 |
| 最近记录: |