【发布时间】:2020-06-22 21:01:34
【问题描述】:
我有这个对象结构,我想遍历它以创建一个包含所有“属性”的节点。所以我想为对象 1、2、5 和 8 创建节点,但不为数组创建节点。我有这段代码,想知道为什么每个响应属性的 Object.keys() 是 [0] 而不是 [2,5] 或 [9,12]?
const response = {
'1':{
'2':['3','4'],
'5':['6','7']
},
'8':{
'9':['10','11'],
'12':['13','14']
},
};
for(const property in response){
if(!response.hasOwnProperty(property)) continue;
console.log(property) // prints 1 and 8
g.addNode(property);
console.log(Object.keys(property)) // [0] instead of [2,5] or [9,12]
for(const prop in property){
if(!property.hasOwnProperty(prop) || prop === 0) continue;
console.log(prop)
g.addEdge(prop,property, {directed:true})
}
}
编辑:这个循环有效:)
for(const property in resp){
g.addNode(property);
for(const prop in resp[property]){
g.addEdge(property,prop, {directed:true})
}
}
【问题讨论】:
-
试试
console.log(Object.keys(response[property]));和for(const prop in response[property]){
标签: javascript loops object properties key