var test = ['hello', 'Hello']
var arg1 = test[0].split('').sort().join('').toLowerCase(); // ehllo
var arg2 = test[1].split('').sort().join('').toLowerCase(); // hello
有人能够解释为什么sort方法似乎对测试数组的第二个元素没有影响吗?
答案 0 :(得分:8)
{{1}}
大写字母的范围是65到90.小写字母的范围是97到122.字符串比较基于字符代码。
通过使用自定义函数,考虑使用您的排序更明确。
答案 1 :(得分:4)
如果你想忽略大小写,你应该在排序前小写:
console.log('Hello'.toLowerCase().split('').sort().join('')); // ehllo

答案 2 :(得分:2)
在case insensitive sorting in Javascript
之前,StackOverflow已回答了这个问题'Hello'.split('').sort(function (a, b) {
return a.toLowerCase().localeCompare(b.toLowerCase());
}).join('');
如果你想要一个区分大小写的输出,例如Hello
将成为eHllo