:
var collect = [{a:'foo',b:'baz'},{a:'lol',b:'fur'}];
var key = 'a';
var result = collect.map(function(o){ return o[key] });
を可能な解決策は、配列を返すと、それを平らに、このような何かすることですカスタム抽出機能を使用して_.mapを使用する必要があります。あなたがCollection.invoke
とModel.pick
var c = new Backbone.Collection([
{id: 1, name: "raju", age: 23, sex: "male"},
{id: 2, name: "ramesh", age: 43, sex: "male"}
]);
plucked = c.invoke("pick", ["name", "age"]);
console.log(plucked);
http://jsfiddle.net/U7p9u/5/
を組み合わせることにより、この呼び出しを簡素化することができ
http://jsfiddle.net/U7p9u/
var c = new Backbone.Collection([
{id: 1, name: "raju", age: 23, sex: "male"},
{id: 2, name: "ramesh", age: 43, sex: "male"}
]);
var plucked = c.map(function (model) {
return _.pick(model.toJSON(), ["name", "age"]);
});
console.log(plucked);
とデモのようなもの同様の精神で
、あなたの抽出機能は、お使いのモデルのプロトタイプに定義されている場合:
var M = Backbone.Model.extend({
mypluck: function() {
return this.pick("name", "age");
}
});
var C = Backbone.Collection.extend({
model: M
});
var c = new C([
{id: 1, name: "raju", age: 23, sex: "male"},
{id: 2, name: "ramesh", age: 43, sex: "male"}
]);
var plucked = c.invoke("mypluck");
console.log(plucked);
http://jsfiddle.net/U7p9u/3/
jsFiddleの例は素晴らしいでしょう。 – elclanrs