各信号にバックボーンモデルを使用してから、コレクション内のモデルをグループ化し、コレクション属性を「頻度」にすることができます。そのようです:
var Model_Signal = Backbone.Model.extend({
defaults: {
value: 0,
quality: 0
},
initialize: function(){
// Do some initializing.
// you'll probably want to set the
// model's defaults here.
}
});
var Collection_Signals = Backbone.Collection.extend({
frequency: null,
model: Model_Signal,
calculateFrequency: function(){
// You'll probably want to do this every time you
// add a new signal to this collection.
}
});
次に、JSONオブジェクトをループして、新しいモデルをインスタンス化し、コレクションに追加できます。
var jsonObject = {
frequency: "1/1",
items: [
{
value: 1,
quality: 5
},
{
value: 0.5,
quality: 5
}
]
};
// Instantiate the collection
var signalCollection = new Collection_Signals();
_.each(jsonObject.items, function(item){
var signalModel = new Model_Signal({value: item.value, quality: item.quality});
signalCollection.add(signalModel);
signalCollection.calculateFrequency();
});