我在对象中有一个对象,对象的名称可能会改变,如何在不引用名称的情况下获取对象内部的值?
Object {medium-editor-1453741508068-0: Object}
medium-editor-1453741508068-0: Object
value: "this is what i want"
这得到了上述内容:
this.mediumEditor.editor.serialize();
我需要类似的东西:
this.mediumEditor.editor.serialize().childObject.value;
答案 0 :(得分:4)
如果您的顶级对象只包含一个对象,则只需使用Object.keys(topLevelObject)
即可获得“对象的对象”名称。如下所示:
var objectsObjectName = Object.keys(topLevelObject)[0];
var value = topLevelObject[objectsObjectName].value;
如果您有更多级别的对象嵌套,或者对象的对象的值名称(哇,这很难遵循)也是不可预测的,那么可以递归使用相同的逻辑。
您还可以迭代顶级对象:
for (var key in topLevelObject) {
var value = topLevelObject[key].value;
}
即使您只有一个嵌套对象,这也有效,即使编写一个知道它只循环一次的循环也可以说是奇怪的。