Comment extraire l'attribut d'une collection Backbone
Je veux créer un tableau de valeurs d'attributs propres à partir d'un Backbone de collecte.
var days = _.select(
this.collection.models,
function(model) {
return model.attributes.type === 'session';
}
);
days = _.pluck(days, 'attributes'),
days = _.pluck(days, 'date');
Cela fonctionne, mais semble inefficace. Est-il un moyen de faire la même chose sans avoir à définir days
trois fois?
source d'informationauteur Philip Schweiger | 2011-09-28
Vous devez vous connecter pour publier un commentaire.
arracher agit d'une méthode pratique qui encapsule
map
etmap
est disponible directement sur la collecte, ce qui devrait rendre cela plus facile.en supposant que vous essayez d'avoir le
date
attribut de vos modèles, vous pouvez le faire:sélectionnez votre appel est également disponible sur la collecte directement, comme le
filter
méthode.vous pouvez enchaîner les deux ensemble, mais il aide si vous définissez les méthodes séparément:
il doit retourner les résultats de votre recherche pour... ou quelque chose de proche de ce au moins 🙂
J'aurais du lire les docs avec plus de soin. En plus de la
pluck
méthode dans le soulignement, l'épine dorsale des collections ont également unpluck
méthode.http://documentcloud.github.com/backbone/#Collection-pluck
Donc, ma solution serait
J'ai encore besoin de trouver la meilleure façon de combiner avec le filtrage peut - être des idées de @Derick réponse, mais cela répond à la viande de ma propre question.
Je pense que cela pourrait fonctionner :
Un peu plus élégant, mais toujours à proximité illisible, à mon avis.
Ont la même question, et a trouvé une meilleure solution. J'ai peut-être juste prendre avantage des nouvelles fonctionnalités dans le souligner, car c'est en 2013 maintenant 🙂
C'est fonctionnellement identique à Derick la réponse à l'aide de _.chaîne()