JavaScript: Menyortir Array Objek berdasarkan Nilai Properti

JavaScript: Menyortir Array Objek berdasarkan Nilai Properti
JavaScript

Menyortir Objek JavaScript berdasarkan Properti String

Mengurutkan array objek adalah tugas umum di JavaScript, terutama saat bekerja dengan data yang perlu ditampilkan dalam urutan tertentu. Salah satu skenario umum melibatkan pengurutan array objek berdasarkan nilai properti string, seperti nama belakang atau judul.

Pada artikel ini, kita akan mempelajari cara mengurutkan array objek JavaScript berdasarkan nilai properti string. Kita akan memeriksa penggunaan metode `sort()` dan mendiskusikan apakah diperlukan langkah tambahan, seperti menambahkan metode `toString()` ke objek.

Memerintah Keterangan
sort(function(a, b) {...}) Mendefinisikan fungsi pengurutan khusus untuk menentukan urutan elemen array berdasarkan kriteria tertentu.
localeCompare() Membandingkan dua string di lokal saat ini, mengembalikan angka yang menunjukkan apakah string referensi muncul sebelum atau sesudah atau sama dengan string yang diberikan.
console.log() Menghasilkan informasi ke konsol, biasanya untuk tujuan debugging.

Penjelasan Mendetail tentang Penyortiran Objek JavaScript

Skrip yang disediakan di atas dirancang untuk mengurutkan array objek JavaScript berdasarkan nilai properti string yang disebut last_nom. Pada contoh pertama, kami menggunakan sort(function(a, b) {...}) metode, yang memungkinkan kita menentukan fungsi penyortiran khusus. Fungsi ini membandingkan last_nom properti masing-masing objek. Jika objek pertama itu last_nom kurang dari objek kedua last_nom, ia mengembalikan -1, yang menunjukkan bahwa objek pertama harus berada sebelum objek kedua. Jika objek pertama last_nom lebih besar, ia mengembalikan 1, artinya objek pertama harus muncul setelah objek kedua. Jika keduanya sama, maka akan menghasilkan 0, yang menunjukkan bahwa posisinya tidak boleh berubah.

Skrip kedua menggunakan sintaks ES6 yang lebih ringkas. Itu localeCompare() metode digunakan dalam sort() berfungsi untuk membandingkan last_nom properti dari objek. Metode ini mengembalikan angka yang menunjukkan apakah suatu string muncul sebelum, sesudah, atau sama dengan string lain di lokal saat ini. Itu console.log() fungsi digunakan di kedua skrip untuk menampilkan array yang diurutkan ke konsol untuk verifikasi. Kedua metode tersebut secara efektif mengurutkan array objek berdasarkan last_nom properti, mendemonstrasikan cara menangani penyortiran properti objek dalam JavaScript.

Mengurutkan Array Objek berdasarkan Properti String di JavaScript

JavaScript sisi klien

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

Mengurutkan Array Objek berdasarkan Properti String Menggunakan Sintaks ES6

JavaScript ES6

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

Mengurutkan Array Objek berdasarkan Properti String di JavaScript

JavaScript sisi klien

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

Mengurutkan Array Objek berdasarkan Properti String Menggunakan Sintaks ES6

JavaScript ES6

const objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort((a, b) => a.last_nom.localeCompare(b.last_nom));

console.log(objs);

Teknik Tingkat Lanjut untuk Menyortir Objek di JavaScript

Saat mengurutkan array objek berdasarkan properti string di JavaScript, penting untuk memahami seluk-beluknya sort() metode. Secara default, sort() metode mengurutkan elemen sebagai string. Hal ini dapat menyebabkan hasil yang tidak diharapkan ketika berhadapan dengan angka atau karakter khusus. Untuk memastikan penyortiran yang akurat, terutama dengan properti string, Anda harus menggunakan fungsi perbandingan khusus. Sebagai tambahan localeCompare(), teknik lain yang berguna adalah menangani sensitivitas huruf besar-kecil. Perbandingan string JavaScript peka huruf besar-kecil secara default, jadi 'a' akan dianggap kurang dari 'A'. Untuk menghindari hal ini, Anda dapat mengonversi semua string menjadi huruf kecil atau besar dalam fungsi perbandingan Anda.

Aspek penting lainnya yang perlu dipertimbangkan adalah mengurutkan berdasarkan beberapa properti. Misalnya dua benda mempunyai benda yang sama last_nom nilai, Anda mungkin ingin mengurutkannya lebih lanjut first_nom. Hal ini dapat dicapai dengan memperluas fungsi perbandingan khusus untuk menyertakan ketentuan tambahan. Penyortiran multi-level seperti itu memastikan bahwa data diurutkan secara komprehensif, sehingga memberikan hasil yang lebih bermakna. Dengan memahami dan menerapkan teknik pengurutan tingkat lanjut ini, Anda dapat menangani skenario pengurutan data yang lebih kompleks secara efektif di JavaScript.

Pertanyaan Umum tentang Menyortir Objek JavaScript

  1. Bagaimana Anda mengurutkan array objek berdasarkan properti string?
  2. Menggunakan sort() metode dengan fungsi perbandingan khusus, memanfaatkan localeCompare() untuk perbandingan string.
  3. Apakah penyortiran JavaScript peka huruf besar-kecil?
  4. Ya, secara default. Ubah string menjadi huruf kecil atau besar dalam fungsi perbandingan untuk menghindari hal ini.
  5. Bagaimana Anda menangani pengurutan berdasarkan beberapa properti?
  6. Perluas fungsi perbandingan khusus untuk menyertakan ketentuan tambahan untuk mengurutkan berdasarkan properti sekunder.
  7. Apakah Anda perlu menambahkan a toString() metode ke objek Anda untuk disortir?
  8. Tidak, menggunakan fungsi perbandingan khusus sudah cukup.
  9. Apa artinya? localeCompare() Mengerjakan?
  10. Ini membandingkan dua string di lokal saat ini dan mengembalikan nomor yang menunjukkan urutannya.
  11. Bisakah Anda mengurutkan objek berdasarkan properti numerik menggunakan metode yang sama?
  12. Ya, Anda juga dapat menyesuaikan fungsi perbandingan untuk menangani perbandingan numerik.
  13. Bagaimana Anda menampilkan array yang diurutkan?
  14. Menggunakan console.log() untuk mencetak array yang diurutkan ke konsol untuk verifikasi.
  15. Apa pentingnya nilai kembalian dalam fungsi perbandingan?
  16. Mereka menentukan urutan elemen: -1 untuk yang kurang dari, 1 untuk lebih besar dari, dan 0 untuk sama.

Menyelesaikan Penyortiran Objek dalam JavaScript

Mengurutkan array objek berdasarkan properti string di JavaScript dapat dicapai secara efisien menggunakan sort() metode dengan fungsi perbandingan khusus. Dengan memanfaatkan localeCompare() dan menangani sensitivitas huruf besar/kecil, Anda dapat memastikan penyortiran data yang akurat dan bermakna. Memahami teknik ini memungkinkan manipulasi dan penyajian data yang lebih baik, sehingga dapat menangani skenario yang lebih kompleks dengan mudah. Selain itu, pengurutan berdasarkan beberapa properti menambah lapisan kecanggihan, membuat keluaran yang diurutkan lebih relevan dan terorganisir.