按字母顺序排列 - 首先是小写 [英] Alphabetical array sort - lowercase first
本文介绍了按字母顺序排列 - 首先是小写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给定数组:
var myArray = ['d','a','k','v','z','A','t','G']
如果我是使用:
myArray.sort()
结果将是:
myArray = ['A','G','a','d','k','t','v','z']
有没有办法修改sort函数或输出,将大写字母放在数组的末尾,如下所示:
Is there a way of modifying the sort function or the output to put the uppercase letters at the end of the array like this :
myArray = ['a','d','k','t','v','z','A','G']
纯Javascript或jQuery都可以。
Either pure Javascript or jQuery would be OK.
推荐答案
测试第一个字符并应用比较:
Test the first character and apply compare:
var myArray = ['d', 'a', 'k', 'v', 'z', 'A', 't', 'G', 'V'];
myArray.sort(function (a, b) {
if (a[0] === a[0].toLocaleLowerCase() && b[0] === b[0].toLocaleLowerCase() ||
a[0] === a[0].toLocaleUpperCase() && b[0] === b[0].toLocaleUpperCase()) {
return a.localeCompare(b);
}
if (a[0] === a[0].toLocaleLowerCase()) {
return -1;
}
return 1;
});
document.write('<pre>' + JSON.stringify(myArray, 0, 4) + '</pre>');
这篇关于按字母顺序排列 - 首先是小写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文