Sort Metodu
Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 57 / 65.
sort() metodu, bir array elemanlarını yerinde sıralamanıza olanak tanır ve sıralanmış array'i return eder. Varsayılan olarak, elemanları alphabetically ve ascending order'da dize (string) olarak sort eder.
Temel sözdizimi şöyledir:
array.sort([compareFunction])Karşılaştırma fonksiyonu (compare function) kullanılmayan örnek:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits);
// ['apple', 'banana', 'mango', 'orange']UYARI: Karşılaştırma fonksiyonu olmadan sayılar beklendiği gibi sıralanmaz:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers);
// [1, 100000, 21, 30, 4] (yanlış sayısal sıralama)Sayıları doğru bir şekilde sıralamak veya özel bir sıralama uygulamak için bir karşılaştırma işlevi (compare function) kullanmanız gerekir.
Karşılaştırma işlevi şunları döndürmelidir:
- a, b'den önce gelmeliyse negatif bir değer
- b, a'dan önce gelmeliyse pozitif bir değer
- Eşitlerse sıfır
Bir karşılaştırma işlevi kullanarak sayıları şu şekilde sıralayabilirsiniz:
// Artan sıra
const numbers = [1, 30, 4, 21, 100000];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 4, 21, 30, 100000]// Azalan sıra
numbers.sort((a, b) => b - a);
console.log(numbers); // [100000, 30, 21, 4, 1]Nesnelerin nasıl sıralanacağına dair başka bir örnek:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// Yaşa göre sırala (artan)
people.sort((a, b) => a.age - b.age);// İsme göre sırala (alfabetik olarak localeCompare() kullan)
people.sort((a, b) => a.name.localeCompare(b.name));Görev
KolayDizideki metinleri uzunluklarına göre küçükten büyüğe sıralayan ve aynı uzunluktaki metinleri alfabetik olarak sıralayıp yeni bir dizi olarak döndüren sortByLength adında bir function oluşturun.
Kendin dene
function sortByLength(arr) {
return arr.sort((a, b) => {
// Buraya kod yazın
})
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String TemelleriString Üzerinde YinelemeTemplate LiteralsString MetotlarıÖzet - String Weaver4JSON Bölüm 2
JSON Üzerinde Yinelemeİç İçe Geçmiş JSONJSON Optional ChainingSığ ve Derin KopyalamaÖzet - Bisiklet MağazasıÖzet - Güneş Sistemi7Kütüphane Yönetim Sistemi
Projeye Genel BakışKitap Ekleme10Festival Sistemi Yönetimi
Projeye Genel BakışFilm ve Mekan Ekle2Çok Boyutlu Diziler
2D Dizi Temelleri2D Dizi Elemanlarına Erişme2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaDüzensiz Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey5Kümeler Bölüm 1
Küme Nedir?Kümeler Üzerinde YinelemeEleman EklemeEleman SilmeEleman Varlığını Kontrol EtmeBoyut ve Boş Olma DurumuKopyalama ve TemizlemeÖzet - Kümelerin Temelleri8Diziler: İlginç Konular
Dizi Yapı SökümüDizilerde Spread SözdizimiSeyrek DizilerÖzet - Diziler Workshop3JSON Bölüm 1
JSON Nedir?Anahtarın Varlığını Kontrol EtmeNesne MetotlarıSpread Operatörü Bölüm 1Spread Operatörü Bölüm 2Anahtarları KaldırmaÖzet - JSON Anahtarlarını Yönetme6Kümeler Bölüm 2
Matematik - Kümelerin BirleşimiMatematik - Kümelerin KesişimiMatematik - Kümelerin FarkıMatematik - Simetrik FarkAlt Kümeler ve Üst KümelerÖzet - Arkadaşları Gruplandırma9İleri Seviye Dizi Metotları
Join ve Split MetotlarıMap MetoduFilter MetoduReduce MetoduDizi Metotlarını ZincirlemeForEach ve Map Aynı mı?Sort MetoduFind ve FindIndex MetotlarıÖzet - Zincir UstasıKendi başına pratik yap: Online JavaScript derleyicisi