--- id: 587d7b7d367417b2b2512b1c title: Check if an Object has a Property challengeType: 1 videoUrl: '' localeTitle: 检查对象是否具有属性 --- ## Description
现在我们可以添加,修改和删除对象中的键。但是,如果我们只是想知道某个对象是否具有特定属性呢? JavaScript为我们提供了两种不同的方法。一个使用hasOwnProperty()方法,另一个使用in关键字。如果我们有一个具有Alan属性的对象users ,我们可以通过以下任一方式检查其存在:
users.hasOwnProperty( '艾伦');
'艾伦'在用户;
//都返回true
## Instructions
我们创建了一个对象, users ,其中包含一些用户和一个函数isEveryoneHere ,我们将users对象作为参数传递给它。完成编写此函数,以便仅当users对象包含所有四个名称( AlanJeffSarahRyan )作为键时才返回true ,否则返回false
## Tests
```yml tests: - text: users对象仅包含AlanJeffSarahRyan testString: 'assert("Alan" in users && "Jeff" in users && "Sarah" in users && "Ryan" in users && Object.keys(users).length === 4, "The users object only contains the keys Alan, Jeff, Sarah, and Ryan");' - text: 如果AlanJeffSarahRyanusers对象的属性,则函数isEveryoneHere返回true testString: 'assert(isEveryoneHere(users) === true, "The function isEveryoneHere returns true if Alan, Jeff, Sarah, and Ryan are properties on the users object");' - text: 如果AlanJeffSarahRyan不是users对象的属性,则函数isEveryoneHere返回false testString: 'assert((function() { delete users.Alan; delete users.Jeff; delete users.Sarah; delete users.Ryan; return isEveryoneHere(users) })() === false, "The function isEveryoneHere returns false if Alan, Jeff, Sarah, and Ryan are not properties on the users object");' ```
## Challenge Seed
```js let users = { Alan: { age: 27, online: true }, Jeff: { age: 32, online: true }, Sarah: { age: 48, online: true }, Ryan: { age: 19, online: true } }; function isEveryoneHere(obj) { // change code below this line // change code above this line } console.log(isEveryoneHere(users)); ```
## Solution
```js // solution required ```