我正在尝试对多维数组进行排序。 我应该在 javascript .sort() 函数的回调上放置什么以使其表现得像 mysql order by ?
示例。 使用mysql order by,结果:
acx,
acx abx,
acx acx,
S&P/ASX 20
在js中使用排序函数,结果:
S&P/ASX 20,
acx,
acx abx,
acx acx
谢谢。
最佳答案
问题是JS中排序是区分大小写的。为了解决这个问题,请提供一个函数作为 sort
的参数,它应该比较字符串的大写(或小写)版本。
function cmp(x, y) {
return x > y ? 1 : x < y ? -1 : 0;
}
a = ["S&P/ASX 20","acx", "acx abx","acx acx"]
a.sort(function(x, y) {
return cmp(x.toUpperCase(), y.toUpperCase())
})
关于javascript - 如何使javascript中的排序函数表现得像mysql order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631194/