5.00 / 1 oy

JavaScript'te dizi (vektör) elemanlarını sıralamak

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]

 

utku33

11.03.2020 01:47

Bu soru 2 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
JavaScript'te dizi (vektör) elemanlarını sıralamak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.