【发布时间】:2019-11-13 00:49:05
【问题描述】:
我需要对我的数组进行排序。我想在 alfa 之后看到字符串开始/包含数字。
作为:
['ip', 'email', '0email', 'em0ail' ,1001, '23name', 'name', 'address']
应该是:
['address', 'email', 'em0ail', 'ip', 'name', '0email', 1001, '23name']
所以0 应该在z 之后
columns.sort((a, b) => {
const x = a.toString();
const y = b.toString();
if (x < y) {
return -1;
}
if (x > y) {
return 1;
}
return 0;
});
首先返回数字
我应该如何处理这种情况?我必须遍历整个字符串吗?
【问题讨论】:
-
将原始数组拆分为两个数组:startWithLetter 和 startWithNumber。将它们单独排序并根据需要合并数组。
-
@EliasSoares 似乎工作量太大,而不仅仅是在排序期间检查每个项目的开始。
标签: javascript arrays sorting