繁体   English   中英

为什么_sortBy不能使用大写字母?

[英]Why does _sortBy not work with capital letters?

我有一个数组。 我需要使用lodash对该数组进行排序。 我使用了_.sortBy ,但未对大写字符串进行排序,为什么?

这是我的代码: https : //jsfiddle.net/2q9cdjug/

var arr = [
    { name: "pq" },
    { name: "ab" },
    { name: "QE" }  
]
var a = _.sortBy(arr, 'name');
console.log(a)

但是为什么不排序大写字符串呢?

因为'a' !== 'A'

您可以使用回调函数,因此可以通过使用toLowerCase()toUpperCase()转换为相同的情况来对它们进行排序

a = _.sortBy(arr, function (x) {
    return x.name.toLowerCase();
});

演示

这是因为字符的ascii表

编辑:javascript使用utf-16,而不是下表(utf-8),但这是一个很好的示例,因为utf-16表很长

在此处输入图片说明

a是97而A是65

如果尝试console.log("a" > "A") //true排序字符串应为小写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM