我需要使用underscore.js按升序排序数组。它几乎为我工作,但问题时,排序名称包含大写字母,大写字母名称排在第一位。你能帮我解决这个问题吗。塔汉克你。
尝试跟随
connectors = [
{
"name": "ajax"
},
{
"name": "jquery"
},
{
"name": "FGJDE"
}
]
sorted = _.sortBy(connectors, 'name');预期输出
connectors = [
{
"name": "ajax"
},
{
"name": "FGJDE"
},
{
"name": "jquery"
}
]排序错误,如下所示:
connectors = [
{
"name": "FGJDE"
},
{
"name": "ajax"
},
{
"name": "jquery"
}
]发布于 2016-07-25 10:00:39
你可以这样做
connectors = [{
"name": "ajax"
}, {
"name": "jquery"
}, {
"name": "FGJDE"
}]
sorted = _.sortBy(connectors, function (text) { return text.name.toLowerCase(); });
console.log(sorted);这是jsFiddle
发布于 2016-07-25 10:00:34
为什么不使用String#localeCompare呢?
var connectors = [{ "name": "ajax" }, { "name": "jquery" }, { "name": "FGJDE" }];
connectors.sort(function (a, b) {
return a.name.localeCompare(b.name);
});
console.log(connectors);
https://stackoverflow.com/questions/38564691
复制相似问题