使用Underscore在Javascript中迭代多个嵌套对象

时间:2013-03-21 07:10:40

标签: javascript backbone.js underscore.js

我正在使用Backbone和Underscore。我的对象看起来像:

TopObject: {
name: '',
middleObjects: []
}

MiddleObject: {
name: '',
bottomObjects: []
}


BottomObject: {
name:'',
someOtherProp: ''
}

所以基本上如果你有一个topObject,它将有多个中间对象作为其属性之一,而middleObjects将有多个bottomObjects作为其属性之一。

我不确定如何在表格中显示这些字段。所以我使用下划线来做到这一点。

var someTopObject = new TopObject(); // that has real data
_.each(someTopObject.get('middleObjects'), function (midObjs) {
  // do something with MidObj.name
  // not sure how to get midObjs.bottomObjects
});

现在我知道bottomObjects只能有2个项目。所以我想我可以硬编码在bottomObjects中获取第一个和第二个对象,但我不确定是否有更优雅的方式。谢谢!

1 个答案:

答案 0 :(得分:1)

嵌套循环?

_.each(someTopObject.get('middleObjects'), function (midObj) {
    _.each(midObj.get('bottomObjects'), function (bottomObj) {
        // do stuff
    });
});