'Firstname', 'lastname' özelliklerine sahip bir koleksiyonda bir kullanıcı listesine (tam olarak altı olmak üzere) sahibim. Bir getirme yapmak, aşağıdaki karşılaştırıcı bunları 'firstname' ile sıralar ve iyi çalışır. Ben farklı bir değerle, daha sonra toplama sıralamak denersenizBackbone/Underscore sortBy koleksiyon sıralama değil
comparator : function (user) {
return user.get("firstname").toLowerCase();
}
Ama yani 'soyad', bu işe yaramaz. Sipariş aynı kalır.
this.collection.sortBy(function(user) {
return user.get("lastname").toLowerCase();
});
Neyi yanlış yapıyorum?
Güncelleme
Yani SortBy dönen veriler sıralanır IS ama benim bakış koleksiyonunuz arasında bağlantı olarak bu gerçekten bana yardımcı olmuyor. Koleksiyonu sıfırlar ve sıralanmış diziyi tekrar koleksiyona eklersek, karşılaştırıcı iş yapar ve 'ad' sırasına göre sıralar.
var sorted = this.collection.sortBy(function(user) {
return user.get("lastname").toLowerCase();
});
Teşekkürler Derick. Ve siteniz için teşekkürler. Bu harika bir geliştirici kaynağıdır. – screenm0nkey
, karşılaştırıcı işlevinin tam sayı döndürmesi değil mi? –
Bunun bir koleksiyon değil, bir liste döndürdüğünü unutmayın. Büyük bir anlaşma değil ama bahsetmeye değer. – Chris