使用 JavaScript 進行字母數字排序


我們有一個混合陣列,我們需要按字母順序和數字順序對其進行排序 −

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'
]

更新於: 24-11-2020

257 次瀏覽

開啟你的職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.