在对象的对象中获取数据?

时间:2016-01-25 17:07:29

标签: javascript jquery

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

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;

1 个答案:

答案 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;
}

即使您只有一个嵌套对象,这也有效,即使编写一个知道它只循环一次的循环也可以说是奇怪的。