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的评论相同:不要更改问题的措辞。那里的误解很可能就是这个问题的原因。