--- id: 587d7daf367417b2b2512b7d title: Iterate Over All Properties challengeType: 1 videoUrl: '' localeTitle: 迭代所有属性 --- ## Description
您现在已经看到了两种属性: own属性和prototype属性。 Own属性直接在对象实例本身上定义。和prototype属性所定义的prototype
function Bird(name){
this.name = name; //拥有财产
}

Bird.prototype.numLegs = 2; //原型属性

让鸭子=新鸟(“唐纳德”);
以下是如何将duck own属性添加到数组ownPropsprototype属性到数组prototypeProps
让ownProps = [];
让prototypeProps = [];

for(let duck in duck){
if(duck.hasOwnProperty(property)){
ownProps.push(属性);
} else {
prototypeProps.push(属性);
}
}

的console.log(ownProps); //打印[“名称”]
的console.log(prototypeProps); //打印[“numLegs”]
## Instructions
所有添加own的属性beagle到数组ownProps 。将Dog所有prototype属性添加到数组prototypeProps
## Tests
```yml tests: - text: ownProps数组应包含"name" 。 testString: assert(ownProps.indexOf('name') !== -1); - text: prototypeProps数组应该包含"numLegs" 。 testString: assert(prototypeProps.indexOf('numLegs') !== -1); - text: 无需使用内置方法Object.keys()即可解决此挑战。 testString: assert(!/\Object.keys/.test(code)); ```
## Challenge Seed
```js 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 ```
## Solution
```js // solution required ```