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
dizi.sort([fonksiyon]);
Örnek
Bir diziyi sıralayalım:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c', 'd']
Örnek
Sayılardan oluşan bir diziyi sıralayalım:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Kodun çalıştırılmasının sonucu:
[1, 2, 4, 7]
Örnek
Diziye sayılar ekleyip sıralayalım:
let 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ç:
[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:
let 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:
[1, 2, 4, 7, 111, 123]
Örnek
Kolaylık olması için önceki örnekteki fonksiyonun kodunu kısaltalım:
let 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:
[1, 2, 4, 7, 111, 123]
Örnek
Şimdi ise bir fonksiyon kullanarak diziyi azalan sırada sıralayalım:
let 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:
[123, 111, 7, 4, 2, 1]
Örnek
Nesnelerden oluşan bir diziyi
'one' anahtarına göre artan sırada sıralayalım:
let 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:
[
{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:
let 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:
[
{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:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c', 'd']
Ayrıca Bakınız
-
filtermetodu,
dizi elemanlarını filtrelemenize olanak tanır