如何判断 javascript 对象是否有子对象
How can I judge the javascript object whether have a child object
>假设我有一个对象:
obj:{
child:{
x:12,
y:50
},
key1:"value1",
key2:"value2"
}
如果我想遍历对象,例如:
for (var i in obj) {
}
如何判断对象是否有子对象,以便遍历它。我知道我可以使用hasOwnProperty
方法,但在这种情况下,我不知道子对象名称是什么。
您可以使用它来检查属性是否包含对象:
for (var i in obj) {
if(obj.hasOwnProperty(i) && obj[i] instanceof Object) {
// obj[i] is a child object
}
}
注意事项:请记住,函数和数组都是Javascript中的对象。您可以单独测试那些使用 instanceof Function
和 instance of Array
的人。
希望此片段对您有所帮助:
for (var i in obj) {
if (obj.hasOwnProperty(i))
console.log(typeof obj[i])
}
递归函数:
var obj = { a : { aa : 'aa'
, ab : 'ab' }
, b : 'b'
, c : 'c'
};
function listKeyValue (o){
for (var prop in o){
if(typeof o[prop] === 'object')
listKeyValue(o[prop]);
else
console.log(prop,o[prop]);
}
}
listKeyValue(obj);
相关文章:
- 如何检查数组中的对象是否等于选项值
- 测试对象是否相等和/或对象是否有更多的关键点,但仍然与共同的关键点相等
- 确定javascript中的html表对象是否具有<colgroup>是否
- 验证对象是否为null Javascript/Angularjs
- 如何通过json对象选项卡中的Id来检查对象是否存在
- jQuery-检测选择对象是否添加或删除了选项
- 检查对象是否是mongo游标
- Three.js-如何检查对象是否在球体后面(不可见)
- 检查对象是否基于jquery对象
- 在JSON项上循环,无论JSON对象是否具有多个数组
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- Javascript如何确定两个对象是否相同
- 如何检查文字对象是否在 Javascript 数组中
- 检查对象是否已被推入数组 Js
- 变量/对象是否按值传递,为什么我不能在 javascript 中使用变量更改对象的属性
- JavaScript 如何检查包含数组的对象是否为空
- 嵌套对象是否被视为良好做法
- 在node.js/ssocket.io中,如何判断对象是否是套接字的实例
- 是否有跨浏览器和跨框架的方法来检查对象是否是HTML元素
- 有没有办法检查一个对象是否存在并且在一行中有一个子对象