JavaScript中的有效对象属性



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

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

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

到现在为止,我有这个 -

function truthCheck(collection, pre) {
  for(var i=0;i<collection.length;i++){
    if(!(pre in collection[i])||collection[i]     
      [pre]===undefined||isNaN(collection[i]      
      [pre])||collection[i][pre]===""||           
      collection[i][pre]===null||collection[i]    
      [pre]===0)
       {
          return false;
       } 
   }
 return true;
}

我知道这不是解决这个问题的最好方法吗?我不喜欢这么长时间的语句。解决我的查询。任何形式的帮助将受到高度赞赏。P.S.该代码甚至在某些真实情况下也无法使用。

o = new Object();
o.prop = 'exist';
if(o.hasOwnProperty('prop')){
   if(o['prop']){
     alert('good value')
   }
}

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

这是我想要的,绝对逻辑 -

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

boolean()函数是使我一天的事。在此链接上了解更多信息。

查看以下示例。

让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
}

最新更新