複数のパラメーター(燃料、座席、色など、ユーザーが組み合わせることができる一連のラジオ、選択ボックスなど)で車両コレクションをフィルター処理する必要があるシナリオがあります。組み合わせの例は次のとおりです。
- color = red
- 座席=4&燃料=ガソリン
- 燃料=ディーゼル
- 燃料=ガソリン&色=黒&座席= 2
- 等
コレクションを1つのパラメーターでフィルター処理するのは簡単ですが、複数のパラメーターに関するヒントが必要です。
これが私のVehiclesコレクションです。
Vehicles = Backbone.Collection.extend({
model: Vehicle,
withFuelType: function(fuel) {
return this.models.filter(function(vehicle) { return vehicle.get('fuel') === fuel; });
},
withSeats: function (seats) {
return this.models.filter(function (vehicle) { return vehicle.get('seats') === seats; });
},
withColor: function(color) {
return this.models.filter(function (vehicle) { return vehicle.get('color') === color; });
}
})
どんなポインタでも大歓迎です。