72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: For...In Loop | ||
|  | --- | ||
|  | The `for...in` statement iterates over the enumerable properties of an object, in arbitrary order. For each distinct property, statements can be executed. | ||
|  | 
 | ||
|  |     for (variable in object) { | ||
|  |     ... | ||
|  |     } | ||
|  | 
 | ||
|  | | Required/Optional | Parameter | Description | | ||
|  | |-------------------|-----------|----------------------------------------------------------------------| | ||
|  | | Required | Variable | A different property name is assigned to variable on each iteration. | | ||
|  | | Optional | Object | Object whose enumerable properties are iterated. | | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | ## Examples
 | ||
|  | 
 | ||
|  |     // Initialize object. | ||
|  |     a = { "a": "Athens", "b": "Belgrade", "c": "Cairo" } | ||
|  | 
 | ||
|  |     // Iterate over the properties. | ||
|  |     var s = "" | ||
|  |     for (var key in a) { | ||
|  |         s += key + ": " + a[key]; | ||
|  |         s += "<br />"; | ||
|  |         } | ||
|  |     document.write (s); | ||
|  | 
 | ||
|  |     // Output: | ||
|  |     // a: Athens | ||
|  |     // b: Belgrade | ||
|  |     // c: Cairo | ||
|  | 
 | ||
|  |     // Initialize the array. | ||
|  |     var arr = new Array("zero", "one", "two"); | ||
|  | 
 | ||
|  |     // Add a few expando properties to the array. | ||
|  |     arr["orange"] = "fruit"; | ||
|  |     arr["carrot"] = "vegetable"; | ||
|  | 
 | ||
|  |     // Iterate over the properties and elements. | ||
|  |     var s = ""; | ||
|  |     for (var key in arr) { | ||
|  |         s += key + ": " + arr[key]; | ||
|  |         s += "<br />"; | ||
|  |     } | ||
|  | 
 | ||
|  |     document.write (s); | ||
|  | 
 | ||
|  |     // Output: | ||
|  |     //   0: zero | ||
|  |     //   1: one | ||
|  |     //   2: two | ||
|  |     //   orange: fruit | ||
|  |     //   carrot: vegetable | ||
|  |      | ||
|  |     // Efficient way of getting an object's keys using an expression within the for-in loop's conditions | ||
|  |     var myObj = {a: 1, b: 2, c:3}, myKeys = [], i=0; | ||
|  |     for (myKeys[i++] in myObj); | ||
|  |      | ||
|  |     document.write(myKeys); | ||
|  |      | ||
|  |     //Output: | ||
|  |     //   a | ||
|  |     //   b | ||
|  |     //   c | ||
|  | 
 | ||
|  | # Ohter Resources:
 | ||
|  | * [MDN link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) | ||
|  | * [MSDN link](https://msdn.microsoft.com/library/55wb2d34.aspx) |