我们有一个字符串数组,每个字符串包含一个或多个这样的数字-
const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'];
我们需要编写一个排序函数,该函数以字符串中存在的数字的升序对数组进行排序。正确的顺序将是-
const output = [ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ];
因此,让我们为这个问题编写代码-
const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing']; const filterNumber = str => { return +str .split("") .filter(el => el.charCodeAt() >= 48 && el.charCodeAt() <= 57) .join(""); }; const sorter = (a, b) => { return filterNumber(a) - filterNumber(b); }; arr.sort(sorter); console.log(arr);
输出结果
控制台中的输出将为-
[ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ]