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)
							 |