Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengisih Tatasusunan Objek mengikut Atribut (cth., \"nama\") dalam JavaScript?

Bagaimana untuk Mengisih Tatasusunan Objek mengikut Atribut (cth., \"nama\") dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-10-23 10:55:58332semak imbas

How to Sort an Array of Objects by an Attribute (e.g.,

Mengisih Tatasusunan Objek Berdasarkan Atribut dengan jQuery atau JavaScript

Dalam pembangunan web, adalah perkara biasa untuk berfungsi dengan objek yang disimpan dalam tatasusunan . Mengisih objek ini mungkin diperlukan untuk pelbagai senario, seperti memaparkan data dalam susunan tertentu. Dalam soalan ini, matlamatnya ialah untuk mengisih tatasusunan objek dalam tertib menaik berdasarkan atribut "nama".

Untuk mencapai matlamat ini, kita boleh menggunakan fungsi isihan JavaScript bersama-sama dengan fungsi pembanding tersuai. Fungsi pembanding ialah fungsi yang mengambil dua elemen tatasusunan sebagai input dan mengembalikan nilai negatif, sifar atau positif bergantung pada perbandingan.

Fungsi pembanding yang disediakan, SortByName, bermula dengan menukar kedua-dua atribut "nama" kepada huruf kecil untuk pengisihan tidak peka huruf besar kecil. Ia kemudian membandingkan dua nilai menggunakan logik berikut:

  • Jika aName kurang daripada bName, ia mengembalikan -1.
  • Jika aName lebih besar daripada bName, ia mengembalikan 1.
  • Jika ia sama, ia akan mengembalikan 0.

Dengan menggunakan fungsi pembanding ini, kita boleh menggunakannya pada fungsi isihan seperti ini:

<code class="javascript">array.sort(SortByName);</code>

Ini akan mengisih tatasusunan dalam tertib menaik berdasarkan atribut "nama".

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Objek mengikut Atribut (cth., \"nama\") dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn