在Javascript'for'循环中,是否可以传递骨干集合而不是数组?例如:在下面的示例代码中,schools
是一个集合,而不是一个数组。这怎么可能?
var selectedSchool;
var addClasses = function(schools){
selectedSchool = Alloy.Collections.schools.at(0);
for(var i = 0; i < schools.length; i++){
var school = Backbone.Collections.schools.at(i);
var label = Ti.UI.createLabel({
text: schools.get('name'),
height:'auto',
};
以下是schools
模型中school
被定义为集合的位置:
exports.definition = {
config : {
"defaults": {
"title": "-",
"description": "-"
},
"adapter": {
"type": "rest",
"collection_name": "schools",
"base_url" : "/schools/",
}
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
// Extend, override or implement Backbone.Collection
urlRoot: '/schools/',
name: 'schools',
});
return Collection;
}
}
任何帮助都会非常感激。
答案 0 :(得分:0)
你可能有一个集合开始,将它转换为数组,完成你的工作,然后将其转换回集合?
答案 1 :(得分:0)
您可以使用for
循环来获取所需内容。它们与数组没有任何关系,除此之外,通常使用for
循环来遍历数组的元素。你问题的真正症结在于“学校”对象是否具有“长度”属性。如果是,如果值是数字,则根本没有问题。