本文介绍了如何使javascript中的排序功能行为类似于mysql order by的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试对多维数组进行排序.我应该在javascript .sort()函数的回调中放什么以使其表现得像mysql order by?

I'm trying to sort a multidimensional array.what should i put on the callback of javascript .sort() function to make it behave like mysql order by?

示例.使用mysql order by,结果:

Example.Using mysql order by, result:

acx,
acx abx,
acx acx,
S&P/ASX 20

在js中使用排序功能,结果:

Using sort function in js, result:

S&P/ASX 20,
acx,
acx abx,
acx acx

谢谢.

推荐答案

问题是JS中的排序区分大小写.为了解决这个问题,请提供一个函数作为 sort ,应该比较大写(或小写)的字符串版本.

The problem is that sorting in JS is case-sensitive. To get around that, provide a function as an argument to sort, which should compare upper-cased (or lower-cased for that matter) versions of strings.

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中的排序功能行为类似于mysql order by的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-27 22:46