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

  • filter metodu,
    dizi elemanlarını filtrelemenize olanak tanır