sort Metodu
sort metodu, bir diziyi sözlükbilimsel sıraya göre sıralar
ve zaten değiştirilmiş diziyi döndürür. İsteğe bağlı parametre olarak
kendi sıralama fonksiyonunuzu belirtebilirsiniz.
Sözdizimi
javascriptdizi.sort([fonksiyon]);
Örnek
Bir diziyi sıralayalım:
javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Kodun çalıştırılmasının sonucu:
javascript['a', 'b', 'c', 'd']
Örnek
Sayılardan oluşan bir diziyi sıralayalım:
javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());
Kodun çalıştırılmasının sonucu:
javascript[1, 2, 4, 7]
Örnek
Diziye sayılar ekleyip sıralayalım:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Kodun çalıştırılması sonucunda sayıların artan sırada değil, sözlükbilimsel sırada yerleştirildiğini görüyoruz, yani sayılar birbirleriyle dizgiler olarak karşılaştırılır. Bu durumda karşılaştırma her karakter için yapılır, ilk karakterin kodu komşusunun kodundan büyük mü vb. Sonuç:
javascript[1, 111, 123, 2, 4, 7]
Örnek
Şimdi bir fonksiyon kullanarak diziyi sıralayalım,
fonksiyonun içinde koşulu belirteceğiz -
eğer ilk parametre ikinciden büyükse, yerlerini değiştir
(bunun için return içinde herhangi bir pozitif sayı).
Tersi durumda yer değiştirme gerekmez ve
0 veya herhangi bir negatif sayı belirtiriz:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript[1, 2, 4, 7, 111, 123]
Örnek
Kolaylık olması için önceki örnekteki fonksiyonun kodunu kısaltalım:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript[1, 2, 4, 7, 111, 123]
Örnek
Şimdi ise bir fonksiyon kullanarak diziyi azalan sırada sıralayalım:
javascriptlet arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript[123, 111, 7, 4, 2, 1]
Örnek
Nesnelerden oluşan bir diziyi
'one' anahtarına göre artan sırada sıralayalım:
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Örnek
Şimdi ise nesnelerden oluşan diziyi
'two' anahtarına göre sıralayalım:
javascriptlet arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Örnek
sort metodu uygulandıktan sonra dizinin
değişip değişmediğini kontrol edelim:
javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Kodun çalıştırılmasının sonucu:
javascript['a', 'b', 'c', 'd']
Ayrıca Bakınız
-
filtermetodu,
dizi elemanlarını filtrelemenize olanak tanır