我在对象内有一个对象,该对象的名称可能会更改,如何在不按名称引用该对象的对象的情况下获取该值?

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;

最佳答案

如果顶级对象仅包含一个对象,则可以简单地使用Object.keys(topLevelObject)来获取“对象的对象”名称。类似于以下内容:

var objectsObjectName = Object.keys(topLevelObject)[0];
var value = topLevelObject[objectsObjectName].value;

如果您具有更高级别的对象嵌套,或者如果对象的对象的值的名称(哇,这很难理解),也可以递归使用相同的逻辑。

您还可以迭代顶级对象:
for (var key in topLevelObject) {
    var value = topLevelObject[key].value;
}

即使您只有一个嵌套对象,也可以这样做,即使编写一个循环知道它只会循环一次也很奇怪。

09-21 00:03