按字母顺序排列 - 首先是小写 [英] Alphabetical array sort - lowercase first

查看:90
本文介绍了按字母顺序排列 - 首先是小写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定数组:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆