如何检查是否存在任何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
}