Javascript 检查对象是否等于数组
我想检查对象是否有子对象数组 比如说Javascript 检查对象是否等于数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我想检查对象是否有子对象数组 比如说 { "parent_category_id": "ABC", "parent_category_name": "ABC COMPANY", "place_id": 733, "industry": { "@nil": "true" } "street_id": 733 } 如何检查“行业”对象是否有子数组。 就像“Industry”的子数组值为“@nil:true”一样。然后alert有了孩子 Array.
{
"parent_category_id": "ABC",
"parent_category_name": "ABC COMPANY",
"place_id": 733,
"industry": {
"@nil": "true"
}
"street_id": 733
}
如何检查“行业”对象是否有子数组。
就像“Industry”的子数组值为“@nil:true”一样。然后alert有了孩子
Array.isArray(parentobj.industry)
如果要检查它是否为数组如果只想检查对象是否有子对象且不为空,则可以执行
if
语句,如:
if(对象行业){}
或者使用Object.getOwnPropertyNames(obj)
方法执行类似操作,该方法将返回对象中所有属性的名称:
var obj={
“父类id”:“ABC”,
“母公司类别名称”:“ABC公司”,
“地点id”:733,
“工业”:{
“@nil”:“正确”
},
“街道识别号”:733
};
var name=Object.getOwnPropertyNames(obj.industry);
name.forEach(name=>console.log('Property/Value->',name,obj.industry[name])代码>您可以使用instanceof
操作符进行检查
例如:
var t = {
"parent_category_id": "ABC",
"parent_category_name": "ABC COMPANY",
"place_id": 733,
"industry": {
"@nil": "true"
},
"street_id": 733
};
之后,您可以使用:
t.industry instanceof Object // result is: true
t.industry instanceof Array // result is: false
你可以做:
info={
“字符串”:“ABC”,
“数组”:[1,2,3],
“对象”:{
“键”:“值”
},
“对象(空)”:{},
}
函数isEmpty(obj){
if(对象的obj实例&!(数组的obj实例)){
用于(obj中的var i){
if(hasOwnProperty.call(obj,i))返回false;
}
}
返回true;
}
用于(信息中的var i){
if(isEmpty(info[i])==false){
控制台日志(信息[i]);
}
}
我看不到数组。你的对象。industry
是一个普通的js对象,而不是数组。不清楚你在找什么@玛蒂恩:那是手术要解决的问题。对问题的症结可能是什么的误解。请澄清你的问题,你期待什么样的阵列?而@nil:true
不是数组值,它是代码段中布尔或字符串类型对象的属性。@GhassenLouhaichi:与我对Martijn的评论相同:不要更改问题的措辞。那里的误解很可能就是这个问题的原因。