コレクションで最初にrequired
フラグを設定し、次にvalue
をアルファベット順に並べ替えることができます。コンパレータを使用して複数の属性でソートするにはどうすればよいですか?
現在、私のコードは次のようになります:
var myModel = Backbone.Model.extend({
defaults: {
required: true,
value: '',
...
}
};
var myCollection = Backbone.Collection.extend({
model: myModel,
comparator: function (model) {
return -model.get('required');
}
});
myCollection.create([
{value: 'A', required: false},
{value: 'B', required: true},
{value: 'C', required: false},
{value: 'D', required: false},
{value: 'E', required: true}
]);
コンパレータが必要な最初のことで私のモデルをソートしますが、私はまた、それらをアルファベット順にソートする方法として損失でね。現在のビューは、彼らが
E, B, D, C, A
を出て、それらをレンダリングするとき、私は彼らがレンダリングされたい:
B, E, A, C, D
[Javascript、複数の列に配列をソートするにはどうすればいいですか?](http://stackoverflow.com/questions/2784230/javascript-how-do-you-sort-an-array-on-multiple -columns) –
私はBackboneについてのもう一つの質問に答えました。それは比較しないので、間違って命名されている "コンパレータ"アーキテクチャです。実際の設計上の欠陥だと思います。 – Pointy
問題は、私が比較する2つのアイテムを比較する方法がわからないということです。 – JaredMcAteer