JavaScript-数组“未定义”错误

质量

我无法弄清楚这段简单的代码有问题。而不是在控制台中打印整个数组,我得到了消息“ 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]);
}
nnnnnn

JavaScript数组索引从0而不是1开始。该.push()方法在数组的末尾添加一个元素,如果是空数组(如循环开始时那样),则该元素将为数组元素0。

您的环插入值1数组索引0,该值2在数组索引1,和依此类推,直到所述值10在数组索引9

您的每条console.log(ar[i])语句都尝试从比最高元素索引高一个的索引中记录一个值,而这些元素将始终为undefined因此,控制台将值记录了undefined十次。

您可以像这样记录数组的最后一个元素:

console.log(ar[ar.length-1]);

或者,在您(现在)知道i比使用的索引高一的情况下.push()

console.log(ar[i-1]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章