我使用以下函数来排序数组。
var trArr = [{'Abc', 1}, {'ACd', 3}, {'Aab', 4}];
function compare(a,b) {
if (a.name > b.name)
{
return -1;
}
if (a.name < b.name)
{
return 1;
}
return 0;
}
trArr.sort(compare);
结果:
[{'ACd', 3}, {'Aab', 4}, {'Abc', 1}];
以上结果是由于资本'C'
我需要以下结果:
[{'Aab', 4}, {'Abc', 1}, {'ACd', 3}];
答案 0 :(得分:1)
试试这个
var trArr = [{
name: 'Abc',
id: 1
}, {
name: 'ACd',
id: 3
}, {
name: 'Aab',
id: 4
}];
function compare(a, b) {
if (a.name.toLowerCase() < b.name.toLowerCase()) {
return -1;
}
if (a.name.toLowerCase() > b.name.toLowerCase()) {
return 1;
}
return 0;
}
trArr.sort(compare);
console.log(trArr)
答案 1 :(得分:0)
尝试使用toLowerCase
function compare(a, b) {
if (a.name.toLowerCase() > b.name.toLowerCase()) {
return -1;
}
if (a.name.toLowerCase() < b.name.toLowerCase()) {
return 1;
}
return 0;
}