JavaScript'te de Java'da olduğu gibi dizileri (vektör ya da matris formunda olabilir) sık sık kullanıyoruz. Java'da dizi (vektör) elemanlarını sıralamak örneğini şimdi de Javascript ile nasıl yapabileceğimize bakalım.
JavaScript ile sıralama yaparken (alfabetik ve sayısal durumları inceleyeceğiz) kullanacağımız sort metodunu çağırmak için dizi.sort() kodunu uygulamamız gerekiyor. Şimdi iki farklı örnekle sort fonksiyonunu ve problemleri/çözümleri inceleyelim.
Javascript Dizisinde Alfabetik Sıralama Yapmak
var sehirler = ['İstanbul','Ankara','Adana','Zonguldak','Bursa'];
console.log(sehirler); //sıralanmamış halini görelim
//["İstanbul", "Ankara", "Adana", "Zonguldak", "Bursa"]
sehirler.sort();
console.log(sehirler); //sıralanmış halini görelim
//["Adana", "Ankara", "Bursa", "Zonguldak", "İstanbul"]
Ne güzel, diziye sort dedik ve her şey bir anda çözüldü (mü?), şimdi bir de sayısal bir dizi üzerinden aynı örneği yapalım.
Javascript Dizisinde Sayısal Değerleri Sıralamak
var sayilar = [5, 9, 55, 7, 122, 52, 6, 2, 95];
console.log(sayilar); //sıralanmamış halini görelim
//[5, 9, 55, 7, 122, 52, 6, 2, 95]
sayilar.sort();
console.log(sayilar); //sıralanmış halini görelim
//[122, 2, 5, 52, 55, 6, 7, 9, 95]
Problem: Javascript diziye sort dediğimizde sayısal değerleri de alfabetik olarak sıraladı. Peki sayısal değerleri küçükten büyüğe doğru nasıl sıralayacağız? Bu problemin çözümü ES6 öncesi bir fonksiyon hazırlamaktan geçiyordu ama ES6 ile birlikte artık daha kolay bir çözümü var:
Çözüm:
var sayilar = [5, 9, 55, 7, 122, 52, 6, 2, 95];
console.log(sayilar); //sıralanmamış halini görelim
//[5, 9, 55, 7, 122, 52, 6, 2, 95]
sayilar = sayilar.sort((a, b) => a - b);
console.log(sayilar); //sıralanmış halini görelim
//[2, 5, 6, 7, 9, 52, 55, 95, 122]