Backbone.js Underscore.js, фильтрующий коллекцию и массив
Я в основном пытаюсь сделать то, что сделано с этим вопросом, но с массивом и вернуть все объекты, используя значения соответствующего массива, а не только значение:Фильтрация коллекции магистрали по значению атрибута
Мой естественный инстинкт - использовать _.filter или _.partition в коллекции лиц, но я не совсем понимаю, как их сравнивать и возвращать, и я не получаю желаемого результата.
Со следующим, передавая идентификатор через маршрутизатор:
friendsRoute: function(id){
persons = new App.Collections.Persons();
persons.fetch().done(function(){
var single = persons.find(function(i){
return i.get('id') == id;
});
var friendsIds = single.get('friends');
var friends = ?
//var friendsList = new App.Views.FriendsList();
//friendsList.render({ friends: friends });
});
},
У меня есть массив friendsIds (друзья Джо):
friendsIds = [1,4,5]
И пытаюсь получить совпадающие идентификаторы из следующего JSON и отобразить их имена в представлении friendsList:
[
{ "id": 1, "name": "Steve", "age": 22, "friends": [4] },
{ "id": 2, "name": "Mary", "age": 18, "friends": [1,3] },
{ "id": 3, "name": "Joe", "age": 43, "friends": [1,4,5] },
{ "id": 4, "name": "Tommy", "age": 19, "friends": [1] },
{ "id": 5, "name": "Leslie", "age": 27, "friends": [2,4] }
]