对于循环。为什么它小于<不小于或等于< =?

时间:2016-04-02 22:56:17

标签: for-loop

以下是我正在做的教程中的一个问题。

使用通常的计数器,通常的起始值和通常的递增来编码for循环的第一行。通过数组pet中的元素数量限制循环次数。

我的回答是:

for (var i = 0; i <= pets.length; i++) {

教程答案是:

for (var i = 0; i < pets.length; i++) {

为什么&lt;如果我们试图找到数组的长度?

4 个答案:

答案 0 :(得分:1)

在编程语言中,大多数情况下,索引和数组从0开始而不是1.因此,第一个元素是0,而不是1.

因此,您需要少量补偿编号系统。

干杯

答案 1 :(得分:1)

想象一下你有一个大小为1的数组。在第一次迭代中,我将为零并满足两个条件。在第二种情况下,我只会满足&lt; =,但请记住,您已经遍历了数组中的每个元素,因此您可能会在循环中遇到错误,尝试访问不在数组中的元素。

答案 2 :(得分:0)

数组的索引从0开始,最多为arr.length - 1.最后一个索引的索引值与数组的长度不同。请注意,从零开始并迭代到数组的长度减去1,数组的整个长度仍然被遍历。

答案 3 :(得分:0)

你从0开始计数而不是1.考虑如果你在那里放一个等于会发生什么。它会尝试访问数组[pets.length],这是大多数语言中的数组超出范围的例外。 pets.length为您提供数组中的项目数。你需要的是一个索引。从0而不是1开始,你可以达到pets.length - 1.希望能够清除它。