Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp chữ số và chữ cái (Alphanumeric) trong JavaScript


Chúng ta có mảng hỗn hợp cần sắp xếp theo chữ cái rồi đến số:

const arr = ['Ab-1', 'Ab-11', 'Ab-12', 'ab-10', 'ab-100', 'ab-101', 'ab2', 'ab-3', 'ab-105'];

Ví dụ

Mã thực hiện như sau:

const arr = ['Ab-1', 'Ab-11', 'Ab-12', 'ab-10', 'ab-100', 'ab-101', 'ab2', 'ab-3', 'ab-105']; 
const alphaNumericSort = (arr = []) => { 
    arr.sort((a, b) => { 
        const aPart = a.split('-'); 
        const bPart = b.split('-'); 
        return aPart[0].toLowerCase().localeCompare(bPart[0].toLowerCase()) || aPart[1] - bPart[1]; 
    }); 
}; 
alphaNumericSort(arr); 
console.log(arr);

Kết quả

Kết quả trong console sẽ là:

[ 
    'Ab-1', 'ab-2', 
    'ab-3', 'ab-10', 
    'Ab-11', 'Ab-12', 
    'ab-100', 'ab-101', 
    'ab-105' 
]