рд╣реЗ,
рд╕реЙрд░реНрдЯ рдХреНрд░рдо рдХреЛ рдЙрд▓рдЯрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдореЗрд░реЗ рддреБрд▓рдирд┐рддреНрд░ рдЖрдЬ рддрдХ рд╕рднреА рдореЙрдбрд▓реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ,
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред toArray()
рдФрд░ reverse()
рдмрд╣реБрдд рдмрджрд╕реВрд░рдд рд▓рдЧрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдореБрдЭреЗ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реАрдврд╝ рдХреА рд╣рдбреНрдбреА рдХреЗ рдореЙрдбрд▓ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реВрдБрдЧрд╛
рддреБрд▓рдирд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВред
рдЪрд┐рдпрд░реНрд╕,
рдбреИрдирд┐рдпрд▓
рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рддреБрд▓рдирд╛ рдХреА рдХрд╕реМрдЯреА рд╕реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рд▓реМрдЯрд╛рдПрдВред
comparator : function(model) {
return -model.get('date');
}
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдкрд░ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд╣реИрдВ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рджрд┐рдирд╛рдВрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ?
рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдЗрд╕рдиреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред
comparator : function(model) {
return -new Date(model.get('date'));
}
рдпрд╣ рдХреЗрд╡рд▓ рддрд╛рд░реАрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдЙрдирдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд░рддреЗ рд╣реИрдВ -), рд▓реЗрдХрд┐рди рдордирдорд╛рдиреЗ рддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИрдВ, рдореИрдВрдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк рдЕрднреА рднреА рддрд╛рд░реАрдЦреЛрдВ (рдУрдкреА рдХреА рддрд░рд╣) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐ рдЖрдкрдХреА рддрд╛рд░реАрдЦ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдереАред рдореЗрд░реА рдЧрд▓рддреА рддреЛ :)ред
рдмреИрдХрдмреЛрди (рдФрд░ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░) рдХрд╛ рдЕрдЧрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП sort
рдЖрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ (рдХреЗрд╡рд▓ sortBy
рдмрдЬрд╛рдп), рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рдкрд╛рдПрдВрдЧреЗред
comparator: function(a, b) {
...
}
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдПрдХ рдХреНрд░рдо рдореЗрдВ, рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдк рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдЖрдкрдХреЗ рддреБрд▓рдирд┐рддреНрд░ рдФрд░ рд╕реЙрд░реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗрд╡рд▓ рдПрдХ рджрд┐рд╢рд╛ рдпрд╛ рджреВрд╕рд░реЗ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдБ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред () () рдЬрд▓реНрджреА рд╕реЗ рд╕реЙрд░реНрдЯ рджрд┐рд╢рд╛рдУрдВ (рдЖрд░реЛрд╣реА рдмрдирд╛рдо рдЕрд╡рд░реЛрд╣реА) рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред
@ elwayman02 рдЖрдк рдХреЗрд╡рд▓ 2 рд╕рдВрдЧреНрд░рд╣ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдВрдЧреНрд░рд╣ # рдХреНрд▓реЛрди рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ)
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд▓реЗ рд▓реАрдЬрд┐рдП рдЬрд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣ рдбреЗрдЯрд╛ рдХреЗ рдЧреНрд░рд┐рдб рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдХрдИ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдЫрд╛рдВрдЯреВрдВрдЧрд╛ред рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдПрдХ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╣реЗрд░рдлреЗрд░ рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдХрдИ рддреБрд▓рдирд┐рддреНрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рд╣реИрдВ, рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рд╣реИред
var Collection = Backbone.Collection.extend({
comparators: {
a: function () {},
b: function () {}
},
setComparator: function (key) {
this.comparator = this.comparators[key];
return this;
}
});
var collection = new Collection();
collection.setComparator('a').sort();
collection.setComparator('b').sort();
рдпрд╣ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдмреЛрди рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рд░рд┐рд╡рд░реНрд╕ () рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЖрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
collection.set(collection.models.reverse(), {sort: false});
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ