37 lines
		
	
	
		
			801 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			801 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Iterate Over All Properties | ||
|  | --- | ||
|  | ## Iterate Over All Properties
 | ||
|  | 
 | ||
|  | ### Method
 | ||
|  | 
 | ||
|  | The method is to use a `for-in-loop` to iterate through every property in the object. Inside the loop you then check if the property is a `own-property` or a `prototype` and place it in the `ownProps[]` array or the `prototypeProps[]` array. Remember to `push` properties to the `beagle` object and not the `Dog` object to pass all test cases. | ||
|  | 
 | ||
|  | ### Solution
 | ||
|  | 
 | ||
|  | ```javascript | ||
|  | 
 | ||
|  | function Dog(name) { | ||
|  |   this.name = name; | ||
|  | } | ||
|  | 
 | ||
|  | Dog.prototype.numLegs = 4; | ||
|  | 
 | ||
|  | let beagle = new Dog("Snoopy"); | ||
|  | 
 | ||
|  | let ownProps = []; | ||
|  | let prototypeProps = []; | ||
|  | 
 | ||
|  | // Add your code below this line  | ||
|  | for (let property in beagle) { | ||
|  |   if(Dog.hasOwnProperty(property)) { | ||
|  |     ownProps.push(property) | ||
|  |   } | ||
|  |   else { | ||
|  |     prototypeProps.push(property) | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | ``` | ||
|  |   |