Tutorial JS

JS RUMAH Pengenalan JS JS Dimana Keluaran JS Pernyataan JS Sintaks JS Komentar JS Variabel JS JS Let JS Const Operator JS JS Aritmatika Tugas JS Tipe Data JS Fungsi JS Objek JS Acara JS String JS Metode String JS Pencarian String JS Template String JS Nomor JS Metode Nomor JS JS Array Metode Array JS Sortir Array JS Iterasi Array JS JS Array Const Tanggal JS Format Tanggal JS Metode Dapatkan Tanggal JS Metode Penetapan Tanggal JS JS Matematika JS Acak JS Boolean Perbandingan JS Ketentuan JS Beralih JS JS Loop Untuk JS Loop Untuk Masuk JS Loop Untuk Of JS Loop Sementara Istirahat JS JS Iterable JS Set Peta JS Tipe JS Konversi Tipe JS JS Bitwise JS RegExp Kesalahan JS Lingkup JS Pengangkatan JS Mode Ketat JS JS Kata Kunci ini Fungsi Panah JS Kelas JS JS JSON Debug JS Panduan Gaya JS Praktik Terbaik JS Kesalahan JS Kinerja JS Kata-kata Cadangan JS

Versi JS

Versi JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Tepi Sejarah JS

Objek JS

Definisi Objek Properti Objek Metode Objek Tampilan Objek Aksesor Objek Konstruktor Objek Prototipe Objek Obyek Iterable Set Objek Peta Objek Referensi Objek

Fungsi JS

Definisi Fungsi Parameter Fungsi Panggilan Fungsi Panggilan Fungsi Fungsi Terapkan Penutupan Fungsi

Kelas JS

Perkenalan Kelas Warisan Kelas Kelas Statis

JS Asinkron

Panggilan Balik JS JS Asinkron JS Janji JS Async/Menunggu

JS HTML DOM

Pengenalan DOM Metode DOM Dokumen DOM Elemen DOM HTML DOM Formulir DOM CSS DOM Animasi DOM Acara DOM Pendengar Acara DOM Navigasi DOM Node DOM Koleksi DOM Daftar Node DOM

JS Browser BOM

Jendela JS Layar JS Lokasi JS Sejarah JS JS Navigator Peringatan Munculan JS Waktu JS JS Cookies

JS Web API

Pengantar API Web API Formulir Web API Riwayat Web API Penyimpanan Web API Pekerja Web API Pengambilan Web API Geolokasi Web

JS AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

JS JSON

Perkenalan JSON Sintaks JSON JSON vs XML Tipe Data JSON Penguraian JSON Stringify JSON Objek JSON Array JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Pemilih jQuery jQuery HTML jQuery CSS jQuery DOM

Grafik JS

Grafik JS JS Kanvas JS Plotly JS Chart.js Bagan Google JS JS D3.js

Contoh JS

Contoh JS JS HTML DOM Masukan HTML JS Objek HTML JS Acara HTML JS JS Browser Editor JS Latihan JS kuis JS Sertifikat JS

Referensi JS

Objek JavaScript Objek DOM HTML


Array Penyortiran JavaScript


Mengurutkan Array

Metode sort()ini mengurutkan array menurut abjad:

Contoh

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

Membalikkan Array

Metode reverse()membalikkan elemen dalam array.

Anda dapat menggunakannya untuk mengurutkan array dalam urutan menurun:

Contoh

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

Sortir Numerik

Secara default, sort()fungsi mengurutkan nilai sebagai strings .

Ini bekerja dengan baik untuk string ("Apple" datang sebelum "Banana").

Namun, jika angka diurutkan sebagai string, "25" lebih besar dari "100", karena "2" lebih besar dari "1".

Karena itu, sort()metode ini akan menghasilkan hasil yang salah saat mengurutkan angka.

Anda dapat memperbaikinya dengan menyediakan fungsi compare :

Contoh

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

Gunakan trik yang sama untuk mengurutkan array secara descending:

Contoh

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


Fungsi Bandingkan

Tujuan dari fungsi bandingkan adalah untuk menentukan urutan pengurutan alternatif.

Fungsi bandingkan harus mengembalikan nilai negatif, nol, atau positif, bergantung pada argumen:

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

Saat sort()fungsi membandingkan dua nilai, fungsi tersebut mengirimkan nilai ke fungsi perbandingan, dan mengurutkan nilai menurut nilai yang dikembalikan (negatif, nol, positif).

Jika hasilnya negatif adiurutkan terlebih dahulu b.

Jika hasilnya positif bdiurutkan terlebih dahulu a.

Jika hasilnya 0 tidak ada perubahan yang dilakukan dengan urutan pengurutan dari dua nilai.

Contoh:

Fungsi bandingkan membandingkan semua nilai dalam larik, dua nilai sekaligus (a, b).

Saat membandingkan 40 dan 100, sort()metode ini memanggil fungsi perbandingan(40, 100).

Fungsi menghitung 40 - 100 (a - b), dan karena hasilnya negatif (-60), fungsi pengurutan akan mengurutkan 40 sebagai nilai yang lebih rendah dari 100.

Anda dapat menggunakan cuplikan kode ini untuk bereksperimen dengan pengurutan numerik dan abjad:

<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>

Menyortir Array dalam Urutan Acak

Contoh

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


Metode Fisher Yates

Contoh di atas, array .sort(), tidak akurat, itu akan mendukung beberapa angka di atas yang lain.

Metode benar yang paling populer, disebut Fisher Yates shuffle, dan diperkenalkan dalam ilmu data sejak tahun 1938!

Dalam JavaScript metode ini dapat diterjemahkan ke ini:

Contoh

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
}


Temukan Nilai Array Tertinggi (atau Terendah)

Tidak ada fungsi bawaan untuk menemukan nilai maks atau min dalam array.

Namun, setelah Anda mengurutkan array, Anda dapat menggunakan indeks untuk mendapatkan nilai tertinggi dan terendah.

Mengurutkan secara menaik:

Contoh

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

Mengurutkan secara turun:

Contoh

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

Menyortir seluruh array adalah metode yang sangat tidak efisien jika Anda hanya ingin menemukan nilai tertinggi (atau terendah).


Menggunakan Math.max() pada Array

Anda dapat menggunakan Math.max.applyuntuk menemukan angka tertinggi dalam array:

Contoh

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

Math.max.apply(null, [1, 2, 3])adalah setara dengan Math.max(1, 2, 3).


Menggunakan Math.min() pada Array

Anda dapat menggunakan Math.min.applyuntuk menemukan angka terendah dalam array:

Contoh

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

Math.min.apply(null, [1, 2, 3])adalah setara dengan Math.min(1, 2, 3).


Metode JavaScript Min / Maks Saya

Solusi tercepat adalah dengan menggunakan metode "buatan sendiri".

Fungsi ini berulang melalui larik yang membandingkan setiap nilai dengan nilai tertinggi yang ditemukan:

Contoh (Temukan Maks)

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

Fungsi ini berulang melalui larik yang membandingkan setiap nilai dengan nilai terendah yang ditemukan:

Contoh (Temukan Min)

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


Menyortir Array Objek

Array JavaScript sering berisi objek:

Contoh

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

Bahkan jika objek memiliki properti dari tipe data yang berbeda, sort()metode ini dapat digunakan untuk mengurutkan array.

Solusinya adalah dengan menulis fungsi perbandingan untuk membandingkan nilai properti:

Contoh

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

Membandingkan properti string sedikit lebih rumit:

Contoh

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;
});

Referensi Array Lengkap

Untuk referensi Array lengkap, kunjungi:

Referensi Array JavaScript Lengkap .

Referensi berisi deskripsi dan contoh semua properti dan metode Array.

Uji Diri Anda Dengan Latihan

Olahraga:

Gunakan metode Array yang benar untuk mengurutkan fruitsarray menurut abjad.

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