如何对这个数组进行排序?
输入:['sfr2ta', '2ab', 'bbb1ddd']
输出:['bbb1ddd', 'sfr2ta', '2ab']
最佳答案
如果您想按第一个字符排序,那么输出应如下所示:['2ab', 'bbb1ddd', 'sfr2ta']。
但是如果你想将字母排序在数字之前,那么你可以这样写:
l = ['sfr2ta', '2ab', 'bbb1ddd'];
lNums = []
lStrs = []
for( let s of l ) {
if(s[0] >= 0 && s[0] <= 9){
lNums.push(s);
}
else {
lStrs.push(s);
}
}
lNums.sort();
lStrs.sort();
l = lStrs.concat(lNums);
console.log(l)
output: [ 'bbb1ddd', 'sfr2ta', '2ab' ]
关于javascript - 如何按字符串中的第一个字符对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62494135/