Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyusun Susunan Rentetan yang Mengandungi Nombor dalam Susunan Asli?

Bagaimana untuk Menyusun Susunan Rentetan yang Mengandungi Nombor dalam Susunan Asli?

Susan Sarandon
Susan Sarandonasal
2024-11-10 09:07:02764semak imbas

How to Sort an Array of Strings Containing Numbers in Natural Order?

Isih Semulajadi Elemen Tatasusunan (Rentetan dengan Nombor)

Mengisih tatasusunan rentetan yang mengandungi nombor dalam susunan "semulajadi" menimbulkan cabaran . Algoritma pengisihan lalai merawat setiap aksara secara individu, menghasilkan susunan yang tidak wajar.

Penyelesaian Cadangan: Fungsi NaturalCompare

Untuk mengatasi masalah ini, fungsi JavaScript yang dipanggil naturalCompare boleh dimanfaatkan. Fungsi ini mengikut algoritma khusus untuk membandingkan rentetan, dengan mengambil kira bahagian berangka dan abjad angka secara berasingan.

Pelaksanaan NaturalCompare

Fungsi menghuraikan setiap rentetan ke dalam tatasusunan angka berselang-seli dan segmen bukan angka. Ini membolehkannya membandingkan segmen berangka sebagai integer dan segmen bukan angka secara leksikografik. Fungsi mengembalikan nilai yang menunjukkan sama ada rentetan pertama kurang daripada (-1), sama dengan (0) atau lebih besar daripada (1) rentetan kedua.

Isih Menggunakan NaturalCompare

Untuk mengisih tatasusunan menggunakan susunan semula jadi, gunakan fungsi NaturalCompare pada kaedah isihan. Ini memastikan rentetan itu dibandingkan menggunakan kriteria isihan semula jadi.

Contoh Penggunaan

Berikut ialah contoh penggunaan fungsi NaturalCompare untuk mengisih tatasusunan rentetan yang mengandungi nombor:

// Input array
const array = ["IL0 Foo", "PI0 Bar", "IL10 Baz", "IL3 Bob says hello"];

// Sort using naturalCompare
array.sort(naturalCompare);

// Output array
console.log(array); // ["IL0 Foo", "IL3 Bob says hello", "IL10 Baz", "PI0 Bar"]
Fungsi naturalCompare boleh dilanjutkan untuk mengendalikan senario yang lebih kompleks dengan menambahkan logik tambahan. Sebagai contoh, seseorang boleh menentukan pembatas antara segmen angka dan bukan angka.

Atas ialah kandungan terperinci Bagaimana untuk Menyusun Susunan Rentetan yang Mengandungi Nombor dalam Susunan Asli?. 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
Artikel sebelumnya:Menambah Jest Pada Explainer.jsArtikel seterusnya:Menambah Jest Pada Explainer.js