2016-04-02 187 views
0

下面是我正在做的教程中的一個問題。For Loop。爲什麼它小於<不小於或等於<=?

使用通常的計數器,通常的起始值和通常的遞增來編寫for循環的第一行。將循環數限制在數組寵物中的元素數量。

我的回答是:

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

教程答案是:

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

爲什麼<如果我們試圖找到數組的長度?

回答

1

在編程語言中的大部分時間,索引和數組從0開始,而不是1。因此,第一個元素是0,而不是1

爲此,你需要把比你少需要補償編號系統。

乾杯

+0

讓我知道你是否明白,因爲我想幫忙 – Wolfsmash

1

假設你有1大小的數組在第一次迭代,我將是零和滿足這兩個條件。第二,我只能實現< =,但是請記住,您已經遍歷數組中的每個元素,因此您可能會在循環中嘗試訪問不在數組中的元素時出錯。

0

數組索引從0開始,直到arr.length - 1。最後一個索引沒有與數組長度相同的索引值。請注意,從零開始迭代到數組長度減1,數組的整個長度仍然被遍歷。

0

你從0開始計算而不是1,考慮如果你把一個平等放在那裏會發生什麼。它會嘗試訪問數組[pets.length],這是大多數語言中的數組越界異常。 pets.length爲您提供了數組中的項數。你需要的是一個索引。從0開始,而不是1,你可以去pets.length - 1.希望清除它。