Skip to content

Instantly share code, notes, and snippets.

@elmijo
Last active December 30, 2015 22:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elmijo/7896161 to your computer and use it in GitHub Desktop.
Save elmijo/7896161 to your computer and use it in GitHub Desktop.
Estendiendo la clase Backbone.Collection con este metodo podemos obtener un Array de los modelos que contienen una coleccion convertido en un objeto identico al que expresamos en el modelo, ademas podemos decirle las propiedades del modelo que deseamos obtener y solo devolvera los mismos.
/**
* Permite obtener un Array de los modelos que contiene la coleccion
* @param {Array} attrs Array con los nombres de las propiedades que quiero obtener
* @return {Array} Array de modelos
*/
Backbone.Collection.prototype.attr = function(attrs){
var self = this;
var coll = [];
var attrs = _.isArray (attrs)?attrs:false;
_.each(self.toArray(),function(ele,inx){
if(attrs){
coll[inx] = {};
_.each(ele.attributes, function(el, nm) {
if(attrs.indexOf(nm)>=0){
coll[inx][nm] = el;
}
});
}
else{
coll.push(ele.attributes);
}
});
return coll;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment