2016-05-16 9 views
-2

Ich habe meinen Weg durch die Javascript-Entwicklung Track auf Treehouse gearbeitet und kämpfe mit für in Schleifen. Ich konnte keine Erklärung für diese Schleife in der Alltagssprache finden und bin dadurch verwirrt. Was macht eigentlich in, und warum würden Sie diese Schleife als Gegensatz zu einer anderen Schleife verwenden? Ist es im Grunde nur eine Möglichkeit, jeder einzelnen Eigenschaft eines Objekts eine gemeinsame Bezeichnung zuzuweisen?Ich verstehe nicht den Zweck von für in-Schleifen

+0

Frage: Wie wollen Sie eine Schleife durch alle Eigenschaften eines Objekts ? Antwort: 'for..in'. - In welchem ​​Detail * verstehst du, was "for..in" macht? Dann ist es vielleicht einfacher, die Lücken zu füllen, die Sie vermissen. – deceze

+0

Dieser Beitrag ist kein Programmierproblem, dies ist nur ein Mangel an Forschung für das Verständnis. Lesen Sie zuerst http://stackoverflow.com/help/how-to-ask und lesen Sie dann https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for ... in – NewToJS

+0

Mögliche duplizieren. http://stackoverflow.com/a/242888/1657076 könnte Ihnen antworten – venkatKA

Antwort

2

for(key in obj) wird verwendet, um Objekte zu durchqueren:

x = {"Sam": 5, "Billy": 9, "Joe": 3} 
 
for(var name in x){ 
 
    document.getElementById("output").innerHTML+=(name+": "+x[name]+" "); 
 
}
<p id="output"></p>

Da Objekte, keine .length Parameter haben und Sie können sie nicht durch Indizes zugreifen.

-3

eigentlich Schleifen sind ein sehr verwirrendes Konzept für Anfänger. Ich erinnere mich noch heute, als ich das erste Mal verstanden habe, was eine For-Schleife bewirkt.

im Grunde, wie andere Schleifen (während) die Idee ist etwas wiederholt passieren. Die for-Schleife wird am häufigsten verwendet, um sicherzustellen, dass Ihre Befehle für jedes Objekt in etwas anderes passiert.

zum Beispiel, wenn Sie alle Objekte in einem Array ausdrucken möchten, wäre es sinnvoll zu tun, mit einer Schleife es ist daher:

for (i=0 ; i< arr.length; i++) { window.console.log (arr[i]); } 
+1

Dies beantwortet die Frage überhaupt nicht, die über die 'for (var x in obj)' Konstrukt – Eric

+0

@Eric - Sie haben Recht. Ich habe den Titel falsch gelesen, was der Zweck von "for" in Loops ist, anstatt dessen, was der Zweck von "for in" Loops ist :-) – akiva