เรามีอาร์เรย์แบบผสมที่เราต้องจัดเรียงตามตัวอักษรและตามด้วยตัวเลข -
const arr = ['Ab-1', 'Ab-11', 'Ab-12', 'ab-10', 'ab-100', 'ab-101', 'ab2', 'ab-3', 'ab-105'];
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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);
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ 'Ab-1', 'ab-2', 'ab-3', 'ab-10', 'Ab-11', 'Ab-12', 'ab-100', 'ab-101', 'ab-105' ]