2013-03-21 2 views
0

Я использую Backbone и Underscore. Мои объекты выглядеть примерно так:Итерация через многопользовательские объекты в Javascript с помощью поддерева

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 элемента. Так что, я думаю, я мог бы hardcode получить первый и второй объект в bottomObjects, но я был не уверен, был ли более элегантный способ. Благодаря!

ответ

1

Гнездо петли?

_.each(someTopObject.get('middleObjects'), function (midObj) { 
    _.each(midObj.get('bottomObjects'), function (bottomObj) { 
     // do stuff 
    }); 
}); 
Смежные вопросы