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 dizinin öğelerini yerinde sıralamanıza olanak tanır ve sıralanmış diziyi döndürür. Varsayılan olarak, öğeleri alfabetik ve artan düzende dizeler olarak sıralar.
İşte temel sözdizimi:
array.sort([compareFunction])Karşılaştırma fonksiyonu kullanmadan örnek:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits);
// ['apple', 'banana', 'mango', 'orange']UYARI: Sayılar, karşılaştırma fonksiyonu olmadan 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 sıralama uygulamak için bir karşılaştırma fonksiyonu (compare function) kullanmanız gerekir.
Karşılaştırma fonksiyonu ş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
İşte bir karşılaştırma fonksiyonu kullanarak sayıları nasıl sıralayacağınız:
// Artan sıralama
const numbers = [1, 30, 4, 21, 100000];
numbers.sort((a, b) => a - b);
console.log(numbers); // [1, 4, 21, 30, 100000]// Azalan düzen
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ın)
people.sort((a, b) => a.name.localeCompare(b.name));Görev
KolayBir dize dizisi alan ve aynı dizeleri uzunluklarına göre artan sırada sıralanmış yeni bir dizi döndüren sortByLength adında bir fonksiyon oluşturun. Eğer iki dize aynı uzunluktaysa, alfabetik olarak sıralanmalıdırlar.
Kopya kağıdı
sort() metodu, dizi öğelerini yerinde sıralar ve sıralanmış diziyi döndürür. Varsayılan olarak, öğeleri alfabetik sırayla dizeler olarak sıralar.
Temel sözdizimi:
array.sort([compareFunction])Dizeleri sıralama:
const fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits); // ['apple', 'banana', 'mango', 'orange']Uyarı: Sayılar, bir karşılaştırma fonksiyonu olmadan doğru şekilde sıralanmaz:
const numbers = [1, 30, 4, 21, 100000];
numbers.sort();
console.log(numbers); // [1, 100000, 21, 30, 4] (incorrect)Karşılaştırma fonksiyonu şunları döndürür:
- a, b'den önce gelmeliyse negatif değer
- b, a'dan önce gelmeliyse pozitif değer
- Eşitlerse sıfır
Sayıları doğru şekilde sıralama:
// Artan sıralama
numbers.sort((a, b) => a - b);
// Azalan sıralama
numbers.sort((a, b) => b - a);Nesneleri sıralama:
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
];
// Yaşa göre sırala
people.sort((a, b) => a.age - b.age);
// İsme göre alfabetik olarak sırala
people.sort((a, b) => a.name.localeCompare(b.name));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ı