canvasObjects
adlı nesneler var.Nesne Özniteliğine Göre Sıralama Dizisi - Javascript
Her nesnenin, z
adlı bir özelliği vardır.
Bu diziyi z
nesnelerine göre sıralamak istiyorum. Bunu sort()
yöntemini kullanarak nasıl yapabilirim?
canvasObjects
adlı nesneler var.Nesne Özniteliğine Göre Sıralama Dizisi - Javascript
Her nesnenin, z
adlı bir özelliği vardır.
Bu diziyi z
nesnelerine göre sıralamak istiyorum. Bunu sort()
yöntemini kullanarak nasıl yapabilirim?
sadece sıralama işlevi
function compare(a,b) {
if (a.attr < b.attr)
return -1;
if (a.attr > b.attr)
return 1;
return 0;
}
canvasObjects.sort(compare);
Veya satır içi karşılaştırıcı içinde geçmesi gerekiyor
canvasObjects.sort(function(a,b) {return (a.attr > b.attr) ? 1 : ((b.attr > a.attr) ? -1 : 0);});
bu POST
bir çıkarma döndüren sıralama yöntemine anonim işlevini gönder görün özelliği "z"
var arr = [{z:2},{z:4},{z:5},{z:1},{z:3}];
arr.sort(function(a,b) {return a.z - b.z});
yukarıda z'ye numaraları 1,2,3,4,5'e koyar. Siparişi tersine çevirmek için "b.z - a.z" adresini döndür.
Burada yayınlanan diğer yanıtları denedim ama en iyi şekilde çalışmak için aşağıdakileri buldum.
canvasObjects.sort(function(a,b) { return parseFloat(a.z) - parseFloat(b.z) });