JS Eğitimi

ANA SAYFA JS Giriş JS Nereye JS Çıktı JS İfadeleri JS Sözdizimi JS Yorumları JS Değişkenleri JS Let JS Sabiti JS Operatörleri JS Aritmetiği JS Ataması JS Veri Türleri JS Fonksiyonları JS Nesneleri JS Etkinlikleri JS Dizeleri JS Dize Yöntemleri JS Dizisi Arama JS Dize Şablonları JS Numaraları JS Numarası Yöntemleri JS Dizileri JS Dizi Yöntemleri JS Dizi Sıralaması JS Dizi Yineleme JS Dizi Sabiti JS Tarihleri JS Tarih Formatları JS Tarih Alma Yöntemleri JS Tarih Ayar Yöntemleri JS Matematik JS Rastgele JS Booleanları JS Karşılaştırmaları JS Koşulları JS Anahtarı JS Döngüsü İçin JS Döngüsü İçin JS Döngüsü JS Döngüsü JS Arası JS Yinelenebilirler JS Setleri JS Haritaları JS Türü JS Tipi Dönüşüm JS Bitsel JS Normal İfade JS Hataları JS Kapsamı JS Kaldırma JS Sıkı Modu Bu Anahtar Kelimeyi JS JS Ok İşlevi JS Sınıfları JS JSON JS Hata Ayıklama JS Stil Kılavuzu JS En İyi Uygulamaları JS Hataları JS Performansı JS Ayrılmış Kelimeler

JS Sürümleri

JS Sürümleri JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Kenar JS Geçmişi

JS Nesneleri

Nesne Tanımları Nesne Özellikleri Nesne Yöntemleri Nesne Görüntüleme Nesne Erişimcileri Nesne Oluşturucuları Nesne Prototipleri Nesne Yinelenebilirler Nesne Kümeleri Nesne Haritaları Nesne Referansı

JS Fonksiyonları

Fonksiyon Tanımları Fonksiyon Parametreleri Fonksiyon Çağırma İşlev Çağrısı İşlev Uygula Fonksiyon Kapanışları

JS Sınıfları

Sınıf Tanıtımı Sınıf Kalıtımı Sınıf Statik

JS Zaman uyumsuz

JS Geri Aramaları JS Asenkron JS Sözleri JS Zaman uyumsuz/Bekliyor

JS HTML DOM'si

DOM Tanıtımı DOM Yöntemleri DOM Belgesi DOM Öğeleri DOM HTML'si DOM Formları DOM CSS'si DOM Animasyonları DOM Olayları DOM Olay Dinleyicisi DOM Gezinme DOM Düğümleri DOM Koleksiyonları DOM Düğüm Listeleri

JS Tarayıcı Malzeme Listesi

JS Penceresi JS Ekranı JS Konumu JS Geçmişi JS Navigatörü JS Açılır Pencere Uyarısı JS Zamanlaması JS Çerezleri

JS Web API'leri

Web API'sine Giriş Web Formları API'sı Web Geçmişi API'si Web Depolama API'sı Web Çalışanı API'si Web Getirme API'si Web Coğrafi Konum API'sı

JS AJAX

AJAX'a Giriş AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

JS JSON

JSON'a Giriş JSON Sözdizimi JSON'a karşı XML JSON Veri Türleri JSON Ayrıştırma JSON Stringify JSON Nesneleri JSON Dizileri JSON Sunucusu JSON PHP JSON HTML'si JSON JSONP

JS ve jQuery

jQuery Seçiciler jQuery HTML'si jQuery CSS'si jQuery DOM'si

JS Grafikleri

JS Grafikleri JS Tuval JS Konusu JS Chart.js JS Google Grafiği JS D3.js

JS Örnekleri

JS Örnekleri JS HTML DOM'si JS HTML Girişi JS HTML Nesneleri JS HTML Olayları JS Tarayıcı JS Editörü JS Alıştırmaları JS Testi JS Sertifikası

JS Referansları

JavaScript Nesneleri HTML DOM Nesneleri


JavaScript Sıralama Dizileri


Dizi Sıralama

Yöntem sort(), bir diziyi alfabetik olarak sıralar:

Örnek

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

Bir Diziyi Ters Çevirme

Yöntem reverse(), bir dizideki öğeleri tersine çevirir.

Bir diziyi azalan düzende sıralamak için kullanabilirsiniz:

Örnek

const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

Sayısal Sıralama

Varsayılan olarak, sort()işlev değerleri dizeler olarak sıralar .

Bu, dizeler için iyi çalışır ("Apple", "Muz" dan önce gelir).

Ancak sayılar dizge olarak sıralanırsa, "25", "100"den büyüktür, çünkü "2", "1"den büyüktür.

Bu nedenle, sort()sayılar sıralanırken yöntem yanlış sonuç verecektir.

Bunu bir karşılaştırma işlevi sağlayarak düzeltebilirsiniz :

Örnek

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});

Azalan bir diziyi sıralamak için aynı numarayı kullanın:

Örnek

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});


Karşılaştırma İşlevi

Karşılaştırma işlevinin amacı, alternatif bir sıralama düzeni tanımlamaktır.

Karşılaştırma işlevi, bağımsız değişkenlere bağlı olarak negatif, sıfır veya pozitif bir değer döndürmelidir:

function(a, b){return a - b}

İşlev iki değeri karşılaştırdığında , sort()değerleri karşılaştırma işlevine gönderir ve değerleri döndürülen (negatif, sıfır, pozitif) değere göre sıralar.

Sonuç negatif aise önce sıralanır b.

Sonuç pozitif bise önce sıralanır a.

Sonuç 0 ise, iki değerin sıralama düzeninde herhangi bir değişiklik yapılmaz.

Örnek:

Karşılaştırma işlevi, dizideki tüm değerleri, aynı anda iki değeri karşılaştırır (a, b).

40 ve 100'ü karşılaştırırken, sort()yöntem karşılaştırma işlevini(40, 100) çağırır.

İşlev 40 - 100 hesaplar (a - b)ve sonuç negatif (-60) olduğundan, sıralama işlevi 40'ı 100'den küçük bir değer olarak sıralar.

Sayısal ve alfabetik olarak sıralamayı denemek için bu kod parçacığını kullanabilirsiniz:

<button onclick="myFunction1()">Sort Alphabetically</button>
<button onclick="myFunction2()">Sort Numerically</button>

<p id="demo"></p>

<script>
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;

function myFunction1() {
  points.sort();
  document.getElementById("demo").innerHTML = points;
}

function myFunction2() {
  points.sort(function(a, b){return a - b});
  document.getElementById("demo").innerHTML = points;
}
</script>

Bir Diziyi Rastgele Sırada Sıralama

Örnek

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return 0.5 - Math.random()});


Fisher Yates Yöntemi

Yukarıdaki örnek, dizi .sort() doğru değil, bazı sayıları diğerlerine tercih edecektir.

En popüler doğru yöntem, Fisher Yates karıştırması olarak adlandırılır ve veri biliminde 1938 gibi erken bir tarihte tanıtılmıştır!

JavaScript'te yöntem şuna çevrilebilir:

Örnek

const points = [40, 100, 1, 5, 25, 10];

for (let i = points.length -1; i > 0; i--) {
  let j = Math.floor(Math.random() * i)
  let k = points[i]
  points[i] = points[j]
  points[j] = k
}


En Yüksek (veya En Düşük) Dizi Değerini Bulun

Bir dizideki maksimum veya minimum değeri bulmak için yerleşik işlevler yoktur.

Ancak, bir diziyi sıraladıktan sonra, en yüksek ve en düşük değerleri elde etmek için dizini kullanabilirsiniz.

Artan sıralama:

Örnek

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b});
// now points[0] contains the lowest value
// and points[points.length-1] contains the highest value

Azalan sıralama:

Örnek

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b - a});
// now points[0] contains the highest value
// and points[points.length-1] contains the lowest value

Yalnızca en yüksek (veya en düşük) değeri bulmak istiyorsanız, tüm diziyi sıralamak çok verimsiz bir yöntemdir.


Bir Dizide Math.max() Kullanımı

Math.max.applyBir dizideki en yüksek sayıyı bulmak için kullanabilirsiniz :

Örnek

function myArrayMax(arr) {
  return Math.max.apply(null, arr);
}

Math.max.apply(null, [1, 2, 3])eşdeğerdir Math.max(1, 2, 3).


Bir Dizide Math.min() Kullanımı

Math.min.applyBir dizideki en düşük sayıyı bulmak için kullanabilirsiniz :

Örnek

function myArrayMin(arr) {
  return Math.min.apply(null, arr);
}

Math.min.apply(null, [1, 2, 3])eşdeğerdir Math.min(1, 2, 3).


Min / Maks JavaScript Yöntemlerim

En hızlı çözüm, "ev yapımı" bir yöntem kullanmaktır.

Bu işlev, her değeri bulunan en yüksek değerle karşılaştıran bir dizide döner:

Örnek (Maks Bul)

function myArrayMax(arr) {
  let len = arr.length;
  let max = -Infinity;
  while (len--) {
    if (arr[len] > max) {
      max = arr[len];
    }
  }
  return max;
}

Bu işlev, her değeri bulunan en düşük değerle karşılaştıran bir dizide döner:

Örnek (Min. Bul)

function myArrayMin(arr) {
  let len = arr.length;
  let min = Infinity;
  while (len--) {
    if (arr[len] < min) {
      min = arr[len];
    }
  }
  return min;
}


Nesne Dizilerini Sıralama

JavaScript dizileri genellikle nesneler içerir:

Örnek

const cars = [
  {type:"Volvo", year:2016},
  {type:"Saab", year:2001},
  {type:"BMW", year:2010}
];

Nesneler farklı veri türlerinin özelliklerine sahip olsa bile sort(), diziyi sıralamak için yöntem kullanılabilir.

Çözüm, özellik değerlerini karşılaştırmak için bir karşılaştırma işlevi yazmaktır:

Örnek

cars.sort(function(a, b){return a.year - b.year});

Dize özelliklerini karşılaştırmak biraz daha karmaşıktır:

Örnek

cars.sort(function(a, b){
  let x = a.type.toLowerCase();
  let y = b.type.toLowerCase();
  if (x < y) {return -1;}
  if (x > y) {return 1;}
  return 0;
});

Komple Dizi Referansı

Tam bir Dizi referansı için şuraya gidin:

JavaScript Dizi Referansını tamamlayın .

Başvuru, tüm Array özelliklerinin ve yöntemlerinin açıklamalarını ve örneklerini içerir.

Egzersizlerle Kendinizi Test Edin

Egzersiz yapmak:

fruitsDiziyi alfabetik olarak sıralamak için doğru Array yöntemini kullanın .

const fruits = ["Banana", "Orange", "Apple", "Kiwi"];
;