[JS30] Day17: Sorting Band Names without Articles
keywords: 省略某些關鍵字後排序
, sort
一般情況下陣列的排序可以使用 Array.prototype.sort(callback<a, b>)
:
const sortedBands = bands.sort((a, b) => (a > b ? 1 : -1));
如果我們希望排序時可以過濾掉某些字元,可以使用正規式:
function strip(word) {
let regex = new RegExp('^(a |the |an )', 'i');
return word.replace(regex, '').trim();
}
// 讓排序的依據是被 strip 過的字元
const sortedBands = bands.sort((a, b) => (strip(a) > strip(b) ? 1 : -1));