2016-04-02 11 views
0

Unten ist eine Frage von einem Tutorial, das ich mache.Für Schleife. Warum ist es kleiner als <nicht kleiner als oder gleich <=?

Codieren Sie die erste Zeile einer for-Schleife mit dem üblichen Zähler, dem üblichen Startwert und dem üblichen Inkrementieren. Begrenzen Sie die Anzahl der Schleifen durch die Anzahl der Elemente in den Array-Pets.

Meine Antwort ist:

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

Das Tutorial Antwort lautet:

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

Warum ist es <, wenn wir versuchen, die Länge des Arrays zu finden?

Antwort

1

In Programmiersprachen, die meiste Zeit, Startindizes und Arrays bei 0 und nicht 1 So würde das erste Element 0 sein, und nicht die 1.

Dafür benötigen Sie weniger zu setzen, als, wie Sie müssen das Nummernsystem kompensieren.

Prost

+0

Lassen Sie mich wissen, wenn Sie verstehen, wie ich helfen möchte – Wolfsmash

1

Stellen Sie sich eine Reihe von Größe 1. Auf der ersten Iteration, würde ich beiden Bedingungen Null und erfüllt sein. Zweitens würde ich nur die < = erfüllen, aber denken Sie daran, dass Sie bereits jedes Element im Array durchlaufen haben, so dass Sie wahrscheinlich einen Fehler in Ihrer Schleife bekommen, wenn Sie versuchen, auf ein Element zuzugreifen, das nicht in Ihrem Array ist.

0

Arrays werden beginnend mit 0 indiziert und bis arr.length - 1. Der letzte Index hat nicht denselben Indexwert wie die Länge des Arrays. Beachten Sie, dass die gesamte Länge des Arrays immer noch durchlaufen wird, indem Sie bei Null beginnen und bis zur Länge des Arrays minus eins durchlaufen.

0

Sie fangen an, von 0 und nicht von 1 zu zählen. Überlegen Sie, was passieren würde, wenn Sie dort ein Gleiches setzen würden. Es würde versuchen, auf array [pets.length] zuzugreifen, was in den meisten Sprachen eine Ausnahmereihe für ein Array außerhalb der Grenzen ist. pets.length gibt Ihnen die Anzahl der Elemente im Array. Was Sie brauchen, ist ein Index. Beginnend von 0 und nicht 1 kannst du zu pets.length gehen - 1. Hoffe das klärt es auf.

Verwandte Themen