Учитывая эту коллекцию -Как получить подмножество Backbone.Collection?
{"education":
[
{
"school":{
"name":"Maxwell",
"type":"Secondary",
"teachers": [
{"name":"Mrs. Smith","subject":"Chemistry"},
{"name":"Mr. Jones","subject":"Calculus"}
]
}
},{
"school":{
"name":"Bright",
"type":"Elementry",
"teachers": [
{"name":"Mr. Anthony","subject":"Reading"},
{"name":"Mrs. Bates","subject":"Social Studies"}
]
}
}
]
}
Я пытаюсь вернуть все элементы школы, так что я могу отобразить имена в шаблоне.
Учитывая этот код -
schools = [];
filtered = this.filter(function (item) {
return (
item.get('school') !== ''
)
});
_.each(filtered, function(k,v) {
_.each(k.attributes.models, function (k2, v2) {
schools.push(k2.get('school'));
});
});
colSchools = new Backbone.Collection(schools);
Это получает работу, но это не кажется очень эффективным, или действительно правильный способ делать вещи.
Я попытался зацикливание на это вместо фильтрованной, и я получаю сообщение об ошибке, что к неопределен. Мой вопрос, я думаю, состоит из двух частей: почему бы это вернуть k не определено и что мне не хватает в том, чтобы захватить подмножество образовательной коллекции? Я чувствую, что вложенная петля - это лишняя работа, которая не нужна. Может быть, я неправильно истолковываю, как Backbone обрабатывает коллекции, или это действительно лучший способ достичь моей цели?
Что это значит? Я не вижу ничего, что связывает «школы» с этим. –
Я должен был быть более полным в моем вопросе. это относится к коллекции, так как второй набор кодов является частью функции внутри моего backbone.collection.extend. – js1983