55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Check if an Object has a Property | |||
|  | localeTitle: 检查对象是否具有属性 | |||
|  | --- | |||
|  | ## 检查对象是否具有属性
 | |||
|  | 
 | |||
|  | 方法: | |||
|  | 
 | |||
|  | *   完成此挑战的最简单方法是创建一个“ `ìf-statement`来检查对象是否包含所有用户,然后返回true或false语句。第一个解决方案就是这样做的。 | |||
|  | *   第二个解决方案以完全相同的方式工作,只有它在函数内使用1行代码 - `Conditional(ternary)-Operator` - `Conditional(ternary)-Operator` 。 | |||
|  | 
 | |||
|  | [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)对三元运算符进行了更深入的分析。 | |||
|  | 
 | |||
|  | ### 方案1:
 | |||
|  | 
 | |||
|  | ```javascript | |||
|  | 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  | |||
|  |   if(users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) {  | |||
|  |     return true;  | |||
|  |   }  | |||
|  |   return false;  | |||
|  |   // change code above this line  | |||
|  |  }  | |||
|  |   | |||
|  |  console.log(isEveryoneHere(users));  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### 方案2:
 | |||
|  | 
 | |||
|  | ```javascript | |||
|  | function isEveryoneHere(obj) {  | |||
|  |   return (users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) ? true : false;  | |||
|  |  }  | |||
|  | 
 | |||
|  | ``` |