μΌ,
컬λ μ
μ μ λ ¬ μμλ₯Ό λ°κΎΈλ κ°μ₯ μ’μ λ°©λ²μ 무μμ
λκΉ? λ΄ λΉκ΅κΈ°λ λͺ¨λ λͺ¨λΈμ λ μ§λ³λ‘ μ λ ¬ν©λλ€.
νμ§λ§ μμμΌλ‘ νμν©λλ€. toArray()
λ° reverse()
κ²μ λ§€μ° μΆν κ² κ°μ΅λλ€.
μ¬κΈ°μ μ€μν κ²μ λμΉκ³ μμ§ μλ€λ©΄ λ°±λ³Έ λͺ¨λΈ μμ±μ ν¬ννμ¬
λΉκ΅κΈ°μ ν¨κ» μ λ ¬ μμ.
건배,
λ€λμ
컬λ μ μ μ’ λ₯λ₯Ό λ λ리λ κ°μ₯ μ’μ λ°©λ²μ λΉκ΅ κΈ°μ€μμ μμ κ°μ λ°ννλ κ²μ λλ€.
comparator : function(model) {
return -model.get('date');
}
λ¬Έμμ΄ κ°μ μνλ²³μμΌλ‘ μ λ ¬ ν λ μ΄λ»κ² μλν©λκΉ?
λΉμ μ΄ κ°μ§ λͺ¨λ κ²μ΄ λ¬Έμμ΄ κ°μ΄λΌλ©΄, μλ§λ μ΄μ λ μ§λ‘ λ³νν κΉμ?
λλ κ°μ λ¬Έμ κ° μμκ³ μ΄κ²μ΄ ν΄κ²°λμμ΅λλ€.
comparator : function(model) {
return -new Date(model.get('date'));
}
μ΄λ λ μ§ (μ λμ΄μ-λ₯Ό λΆμ΄λ©΄ μ«μλ‘ λ³ν λ¨)μλ§ μλνμ§λ§ μνλ²³μμΌλ‘ μ λ ¬νλ €λ μμμ λ¬Έμμ΄μλ μλνμ§ μμ΅λλ€.
λΉμ μ λ¬Όλ‘ λ§μ΅λλ€, λλ λΉμ μ΄ μ¬μ ν λ μ§μ λν΄ μ΄μΌκΈ°νκ³ μλ€κ³ κ°μ νμ§λ§ (OPμ²λΌ) λΉμ μ λ μ§λ λ³ν κ°λ₯ν λ¬Έμμ΄μ΄μμ΅λλ€. λ΄ μ€μ :).
λ€μ λ²μ μ Backbone (λ° νμ¬ λ§μ€ν°)μ λΉκ΅κΈ° ( sortBy
λμ )μ λν΄ sort
μμλ₯Ό μ§μνλ―λ‘ μΌλ°μ μΈ λ°©μμΌλ‘ μ μ ν μ μμ΅λλ€.
comparator: function(a, b) {
...
}
λμΌν 컬λ μ μ λν΄ μ¬λ¬ μ¬μ© μ¬λ‘κ° μκ³ κ·Έμ€ μΌλΆλ ν μμλ‘ νμλκ³ λ€λ₯Έ νλλ λ°λ μμλ‘ νμλμ΄μΌνλ κ²½μ° μ΄λ»κ²ν©λκΉ? λΉκ΅κΈ° λ° μ λ ¬ ꡬνμ ν λ°©ν₯ λλ λ€λ₯Έ λ°©ν₯ λ§ μ νν μ μμΌλ©° μ λ ¬ λ°©ν₯ (μ€λ¦μ°¨μ λ λ΄λ¦Όμ°¨μ)μ λΉ λ₯΄κ² μ ν ν μμλ Collection.reverse ()κ°μλ κ² κ°μ΅λλ€.
@ elwayman02 컬λ μ μΈμ€ν΄μ€ 2 κ°λ§ μ μ§ν μ μμ΅λλ€ (Collection # cloneμ΄ λμμ΄ λ μ μμ).
κ·Έκ²μ νΉλ³ν μ μ©νμ§ μμ΅λλ€. λ κ°μ§ λ€λ₯Έ λ°μ΄ν° μμ€λ₯Ό μ μ§νκ³ μ΄λ€κ°μ μ ννλ κ²μ μ΄μΉμ λ§μ§ μμ΅λλ€. νμμ λ°λΌ μ‘°μ ν μμλ λ°μ΄ν° κ°μ²΄κ° νλ μμ΄μΌν©λλ€.
컬λ μ μ μ¬λ¬ λΉκ΅κΈ°λ₯Ό μ μ₯νκ³ νμμ λ°λΌ κ΅μ²΄νμ΅λλ€.
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();
κ·Έκ²μ λ λμ ν΄κ²° λ°©λ²μ΄μ§λ§, λ¨μν reverse () λ©μλλ₯Ό μ§μνλ λ°±λ³Έ λμ ν΄κ²° λ°©λ²μ΄ νμν μ΄μ λ₯Ό μ¬μ ν μ΄ν΄νμ§ λͺ»ν©λλ€.
λΉμ μ λν ν μ μμ΅λλ€
collection.set(collection.models.reverse(), {sort: false});
κ°μ₯ μ μ©ν λκΈ
λΉμ μ λν ν μ μμ΅λλ€