


Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort().
Pemahaman mendalam tentang pengisihan tatasusunan JS: prinsip dan mekanisme kaedah sort() memerlukan contoh kod khusus
Pengenalan: Pengisihan tatasusunan ialah salah satu operasi yang sangat biasa dalam kerja pembangunan bahagian hadapan harian kami. Kaedah pengisihan tatasusunan sort()
dalam JavaScript ialah salah satu kaedah pengisihan tatasusunan yang paling biasa digunakan. Walau bagaimanapun, adakah anda benar-benar memahami prinsip dan mekanisme kaedah sort()
? Artikel ini akan memberi anda pemahaman yang mendalam tentang prinsip dan mekanisme pengisihan tatasusunan JS, dan memberikan contoh kod khusus. sort()
是我们最常使用的数组排序方法之一。但是,你是否真正了解sort()
方法的原理与机制呢?本文将带你深入理解JS数组排序的原理和机制,并提供具体的代码示例。
一、sort()
方法的基本用法
首先,我们先来了解一下sort()
方法的基本用法。sort()
方法可以对数组进行原地排序,也就是说它不会创建新的数组,而是直接修改原始数组。
sort()
方法默认会将数组的元素转换为字符串并按照Unicode位点进行升序排序。
例如,我们有一个包含数字类型的数组:
let arr = [8, 3, 6, 2, 9, 1]; arr.sort(); console.log(arr); // [1, 2, 3, 6, 8, 9]
从上面的例子中可以看出,sort()
方法会将数组中的元素转换成字符串并进行排序。但是,这种默认的字符串排序并不适用于数字类型的数组排序。接下来,我们将探讨如何实现针对数字类型的正序和倒序排列。
二、使用比较函数进行排序
sort()
方法可以接受一个比较函数作为参数,该函数用于定义排序规则。比较函数接受两个参数,分别表示要比较的两个元素。
- 如果比较函数的返回值小于0,那么第一个元素会被排在前面。
- 如果比较函数的返回值大于0,那么第二个元素会被排在前面。
- 如果比较函数的返回值等于0,那么两个元素的相对位置不变。
现在,我们来看一下如何使用比较函数来实现正序和倒序排列。
正序排列
let arr = [8, 3, 6, 2, 9, 1]; arr.sort((a, b) => a - b); console.log(arr); // [1, 2, 3, 6, 8, 9]
Salin selepas log masuk
在上面的代码中,我们使用比较函数 (a, b) => a - b
来实现正序排列。比较函数的返回值 a - b
如果小于0,表示将 a
放在 b
前面,从而实现升序排列。
倒序排列
let arr = [8, 3, 6, 2, 9, 1]; arr.sort((a, b) => b - a); console.log(arr); // [9, 8, 6, 3, 2, 1]
Salin selepas log masuk
在上面的代码中,我们使用比较函数 (a, b) => b - a
来实现倒序排列。比较函数的返回值 b - a
如果小于0,表示将 b
放在 a
前面,从而实现降序排列。
三、自定义排序规则
除了正序和倒序排列外,我们还可以根据自己的需求自定义排序规则。
例如,我们希望将一个字符串数组按照字符串长度进行排列,我们可以这样实现:
let arr = ['a', 'abcd', 'ab', 'abc']; arr.sort((a, b) => a.length - b.length); console.log(arr); // ['a', 'ab', 'abc', 'abcd']
在上面的代码中,我们使用比较函数 (a, b) => a.length - b.length
来实现按字符串长度升序排列。
四、复杂对象的排序
如果我们要对包含复杂对象的数组进行排序,我们需要在比较函数中指定排序的依据。
例如,我们有一个包含学生数据的数组,每个学生对象都有name
和score
两个属性。我们希望根据学生的分数高低进行排序,可以这样实现:
let students = [ { name: 'Alice', score: 90 }, { name: 'Bob', score: 80 }, { name: 'Charlie', score: 70 } ]; students.sort((a, b) => b.score - a.score); console.log(students); // [{ name: 'Alice', score: 90 }, { name: 'Bob', score: 80 }, { name: 'Charlie', score: 70 }]
在上面的代码中,我们使用比较函数 (a, b) => b.score - a.score
来实现按学生的分数降序排列。
结语
通过本文对sort()
sort()
🎜🎜Pertama sekali, mari kita fahami penggunaan asas kaedah sort()
. Kaedah sort()
boleh mengisih tatasusunan di tempatnya, yang bermaksud ia tidak mencipta tatasusunan baharu, tetapi secara langsung mengubah suai tatasusunan asal. 🎜🎜Kaedah sort()
akan menukar elemen tatasusunan kepada rentetan secara lalai dan mengisihnya dalam tertib menaik mengikut kedudukan Unicode. 🎜🎜Sebagai contoh, kami mempunyai tatasusunan yang mengandungi jenis angka: 🎜rrreee🎜Seperti yang anda lihat daripada contoh di atas, kaedah sort()
akan menukar elemen dalam tatasusunan kepada rentetan dan mengisihnya. Walau bagaimanapun, pengisihan rentetan lalai ini tidak digunakan untuk pengisihan tatasusunan angka. Seterusnya, kami akan meneroka cara melaksanakan susunan ke hadapan dan terbalik untuk jenis angka. 🎜🎜2. Gunakan fungsi perbandingan untuk mengisih🎜🎜Kaedah sort()
boleh menerima fungsi perbandingan sebagai parameter, yang digunakan untuk menentukan peraturan pengisihan. Fungsi perbandingan menerima dua parameter, mewakili dua elemen untuk dibandingkan. 🎜- Jika nilai pulangan bagi fungsi perbandingan kurang daripada 0, maka elemen pertama akan diisih dahulu.
- Jika nilai pulangan fungsi perbandingan lebih besar daripada 0, maka elemen kedua akan diisih dahulu.
- Jika nilai pulangan fungsi perbandingan adalah sama dengan 0, maka kedudukan relatif kedua-dua elemen kekal tidak berubah.
- 🎜Organisasi dalam susunan positif🎜rrreee
(a, b) => > untuk mencapai pesanan positif. Jika nilai pulangan bagi fungsi perbandingan <code>a - b
kurang daripada 0, ini bermakna a
diletakkan di hadapan b
untuk mencapai menaik pesanan. 🎜- 🎜Susun dalam susunan terbalik🎜rrreee
b - a
kurang daripada 0, ini bermakna b
diletakkan di hadapan a
untuk mencapai penurunan pesanan. 🎜🎜3. Peraturan pengisihan tersuai🎜🎜Selain menyusun mengikut urutan ke hadapan dan terbalik, kami juga boleh menyesuaikan peraturan pengisihan mengikut keperluan kami sendiri. 🎜🎜Sebagai contoh, kita ingin menyusun tatasusunan rentetan mengikut panjang rentetan, kita boleh mencapainya seperti ini: 🎜rrreee🎜Dalam kod di atas, kita menggunakan fungsi perbandingan skor
. Kami ingin menyusun pelajar mengikut markah mereka, yang boleh dicapai seperti ini: 🎜rrreee🎜Dalam kod di atas, kami menggunakan fungsi perbandingan sort()
, kami tahu cara menggunakan fungsi perbandingan untuk melaksanakan tertib hadapan, tertib terbalik dan peraturan isihan tersuai , dan pelajari cara Mengisih tatasusunan objek kompleks. Saya harap kandungan artikel ini dapat membantu anda dan meningkatkan pemahaman anda serta penggunaan isihan tatasusunan JavaScript. 🎜Atas ialah kandungan terperinci Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort().. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kaedah pengisihan tatasusunan pantas dalam PHP yang mengekalkan nama kunci: Gunakan fungsi ksort() untuk mengisih kekunci. Gunakan fungsi uasort() untuk mengisih menggunakan fungsi perbandingan yang ditentukan pengguna. Kes praktikal: Untuk mengisih tatasusunan ID pengguna dan skor mengikut skor sambil mengekalkan ID pengguna, anda boleh menggunakan fungsi uasort() dan fungsi perbandingan tersuai.

Jadual sementara dalam MySQL ialah jadual khas yang boleh menyimpan beberapa data sementara dalam pangkalan data MySQL. Jadual sementara adalah berbeza daripada jadual biasa kerana ia tidak memerlukan pengguna menciptanya secara manual dalam pangkalan data dan hanya wujud dalam sambungan dan sesi semasa. Artikel ini akan melihat secara mendalam pada jadual sementara dalam MySQL. 1. Apakah jadual sementara? Jadual sementara ialah jenis jadual khas dalam MySQL yang hanya wujud dalam sesi pangkalan data semasa. Jadual sementara tidak memerlukan pengguna menciptanya secara manual dalam pangkalan data sebaliknya, ia dibuat apabila pengguna melakukan SELECT, INSERT atau U

Cara menggunakan pengisihan tatasusunan JS: kaedah sort() untuk pengisihan tersuai Dalam JavaScript, tatasusunan ialah jenis data yang sangat biasa dan penting. Apabila kita perlu mengisih elemen dalam tatasusunan, kita boleh menggunakan kaedah sort() tatasusunan. Kaedah sort() mengisih elemen tatasusunan mengikut peraturan pengisihan lalai, tetapi kadangkala kita mungkin perlu menyesuaikan pengisihan tatasusunan mengikut keperluan kita sendiri. Artikel ini akan memperkenalkan secara terperinci cara menggunakan kaedah sort() untuk pengisihan tersuai, dan menyediakan khusus

Untuk memahami secara mendalam pengisihan tatasusunan JS: prinsip dan mekanisme kaedah sort(), contoh kod khusus diperlukan Pengenalan: Pengisihan tatasusunan ialah salah satu operasi yang sangat biasa dalam kerja pembangunan bahagian hadapan harian kami. Kaedah pengisihan tatasusunan sort() dalam JavaScript ialah salah satu kaedah pengisihan tatasusunan yang paling biasa digunakan. Walau bagaimanapun, adakah anda benar-benar memahami prinsip dan mekanisme kaedah sort()? Artikel ini akan memberi anda pemahaman yang mendalam tentang prinsip dan mekanisme pengisihan tatasusunan JS, dan memberikan contoh kod khusus. 1. Penggunaan asas kaedah sort().

Pemahaman mendalam tentang fungsi io.CopyN dalam dokumentasi bahasa Go melaksanakan penyalinan fail dengan bilangan bait yang terhad Pakej io dalam bahasa Go menyediakan banyak fungsi dan kaedah untuk memproses aliran input dan output. Salah satu fungsi yang sangat berguna ialah io.CopyN, yang boleh menyalin fail dengan bilangan bait yang terhad. Artikel ini akan memberikan pemahaman yang mendalam tentang fungsi ini dan memberikan contoh kod khusus. Mula-mula, mari kita fahami definisi asas fungsi io.CopyN. Ia ditakrifkan seperti berikut: funcCopyN(dstWriter,

Meneroka pengisihan tatasusunan JS: Petua pengoptimuman prestasi untuk kaedah sort() Pengenalan: Dalam pengaturcaraan JavaScript, tatasusunan ialah struktur data yang biasa digunakan. Untuk operasi pengisihan pada elemen tatasusunan, kaedah sort() ialah penyelesaian yang biasa digunakan. Walau bagaimanapun, kaedah sort() mungkin menghadapi kesesakan prestasi apabila memproses data berskala besar. Untuk mengoptimumkan prestasi operasi isihan, lihat di bawah. 1. Penggunaan asas kaedah sort() Kaedah sort() ialah kaedah prototaip objek tatasusunan JavaScript.

Bagaimana untuk menulis algoritma pengisihan tatasusunan PHP tersuai? Isih gelembung: Mengisih tatasusunan dengan membandingkan dan menukar elemen bersebelahan. Isih pilihan: Pilih elemen terkecil atau terbesar setiap kali dan tukarkannya dengan kedudukan semasa. Isih sisipan: Masukkan unsur satu demi satu ke dalam bahagian yang diisih.

Cara mengisih tatasusunan mengikut nilai dalam PHP sambil mengekalkan nama kunci ialah menggunakan fungsi usort() untuk mengisih tatasusunan mengikut nilai. Lulus fungsi tanpa nama kepada fungsi usort() sebagai fungsi perbandingan, yang mengembalikan perbezaan nilai elemen. usort() akan mengisih tatasusunan mengikut fungsi tanpa nama sambil mengekalkan nama kunci tidak berubah.
