SORU
7 Mayıs 2013, Salı


Alt çizgi: () sortBy birden fazla özelliklere göre

Nesneleri birden fazla özelliklerine dayanan bir dizi sıralamak için çalışıyorum. İlk özniteliği I. e ikinci bir öznitelik iki nesne comapare için kullanılmalı arasında iki aynı nesneleri. Örneğin, aşağıdaki dizi düşünün:

var patients = [
             [{name: 'John', roomNumber: 1, bedNumber: 1}],
             [{name: 'Lisa', roomNumber: 1, bedNumber: 2}],
             [{name: 'Chris', roomNumber: 2, bedNumber: 1}],
             [{name: 'Omar', roomNumber: 3, bedNumber: 1}]
               ];

roomNumber Bu sıralama aşağıdaki kodu kullanmam nitelik:

var sortedArray = _.sortBy(patients, function(patient) {
    return patient[0].roomNumber;
});

Bu iyi çalışıyor, ama ne kadar devam ederim '' ve 'Lisa' doğru sıralanır? John

CEVAP
15 AĞUSTOS 2013, PERŞEMBE


sortBy istikrarlı bir çeşit algoritma ikinci özellik ilk sıralama, yeniden sıralama bu şekilde ilk özellik o zaman, sen-meli muktedir öyle diyor:

var sortedArray = _(patients).chain().sortBy(function(patient) {
    return patient[0].name;
}).sortBy(function(patient) {
    return patient[1].roomNumber;
}).value();

Ne zaman ikinci sortBy bulan John ve Lisa aynı oda numarası o-ecek almak onları sırasını buldum onları, ilk sortBy ayarlamak için "Lisa, John".

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Modus Recordings

    Modus Record

    26 Kasım 2008
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012