javascript中的有效对象属性

时间:2016-06-22 12:10:36

标签: javascript-objects

如何检查是否存在任何javaScript对象的属性,如果存在,那么它是否具有有效值? 实际上,我是初学者,并试图解决这个问题 -

  

检查第二个参数是否在第一个参数的所有对象(这是一个对象数组)上是真实的.i.e。

  • 检查第一个参数(数组)中的所有对象中是否存在第二个参数作为属性 如果存在,则不应该 -
  • 无效,因为年龄不能为0
  • 未定义
  • 空字符串('')
  • 的NaN
直到现在我有了这个 -

{{1}}

我知道这不是最好的解决方法。有没有更好的方法来做到这一点?我不喜欢我的代码中的那句长时间。我已经看到其他SO链接 - link1,{{ 3}}但它们似乎都没有解决我的问题。任何形式的帮助都非常感谢。 附:这段代码甚至不适用于某些真实案例。

3 个答案:

答案 0 :(得分:1)

o = new Object();
o.prop = 'exist';

if(o.hasOwnProperty('prop')){
   if(o['prop']){
     alert('good value')
   }
}

https://stackoverflow.com/a/6003920/1074179

答案 1 :(得分:1)

这就是我所寻找的并且绝对符合逻辑 -

for(var i in array){  
  if((prop in array[i])&& Boolean(array[i][prop]))  
  {  
  //do something  
  }   
}

Boolean()函数是我的一天。请参阅此link了解详情。

答案 2 :(得分:0)

请看下面的例子。

让json对象为

 var a = { obj1:"a",obj2:"b"}

检查对象是否存在,可以使用hasOwnProperty()方法。

a.hasOwnProperty("obj2") //this will return true
a.hasOwnProperty("obj3") // this will return false

检查对象的值

 if(a["obj1"] && a["obj1"]!="" && a["obj"]!=0){
  //place your logic here
}