Ну, я не знаю инструментарий Javascript, с которым вы работаете, но я предполагаю, что если он имеет функцию фильтра, он, вероятно, также имеет функцию сокращения.Вот пример того, как вы можете уменьшить массив до объекта (который затем может быть использован по запросу):
var panelsMap = panels.reduce(function (map, el, index, array) {
map[el.get("id")] = el;
return map;
}, {});
В качестве альтернативы, вы можете выполнить работу внутри исходного цикла.В этом случае не имеет смысла использовать «фильтр», но вы можете заменить его на forEach или что-то подобное.Вот пример (который продолжает использовать фильтр):
onComplete: function() {
var weLike = ["panel_1", "panel_2", "panel_3"];
var panels = {};
$$(this.response.elements).filter(function(el) {
if ($(el) && el.get && weLike.contains(el.get("id"))) {
panels[el.get("id")] = el;
}
return false;
});
alert(panels);
}