我有一个对象:
var Top = {
'A':{},
'b':{
'1':'someText',
'2':'someMoreText'},
'C':{
'3':'evenMoreText',
'4':'thisIsGettingRedundant'},
'D':'thisOneIsDifferent'}
我正在寻找一种方法来访问我的对象的名称,比如Top[b].objectName
将'Top'
作为字符串返回,我在一些嵌套的for ... in循环中这样做,就像这样:
for(thing in Top){
for(piece in Top[thing]){
console.log('Grabbing ' + Top[thing][piece] + ' from ' + MY_OBJECT_NAME_THAT_SHOULD_BE_TOP);
}
}
我想我可以为每个对象添加一个标签作为其名称(IE。将A从{}更改为' Top'),但这对我来说似乎是多余的。
- 编辑:
有没有办法记录我的第二级对象名称IE。 A,B,C?因为它们应该被记录为数据而不是代码
答案 0 :(得分:0)
awk
要实现这一点,请使用for-in-loop迭代顶层的所有键。如果键指向对象且不等于const Top = {
'A': {},
'b': {
'1': 'someText',
'2': 'someMoreText'
},
'C': {
'3': 'evenMoreText',
'4': 'thisIsGettingRedundant'
},
'D': 'thisOneIsDifferent'
};
(在JavaScript中定义为对象),请执行另一个for-in-loop以将每个项目记录到控制台中。如果顶级键指向空对象,请将空曲线括号记录到控制台。另一方面,如果顶级键指向非对象,则将其记录到控制台。
null