我需要通过他的内部第一个元素数据对数组进行排序。 我的数组看起来像那样
arr = [[0,"lol"][6,"yo"][5,"comon"]]
排序后,我需要它:
[[0,"lol"][5,"comon"][6,"yo"]]
0,5,6假设订购细胞并且他们拥有的数据是无关紧要的。 感谢。
答案 0 :(得分:1)
var arr = [[0,"lol"],[6,"yo"],[5,"comon"]];
arr.sort(function(a, b) {
return a[0] - b[0];
});
答案 1 :(得分:1)
你可以试试这样的...... Live Demo
我做了一些更改......
// before that I'm checking arrays and not a values of it...
(!isNaN(a) && !isNaN(b)) to (!isNaN(a[0]) && !isNaN(b[0]))
aa = a[0].toString().toLowerCase();
bb = b[0].toString().toLowerCase();
<强> ============================================ =============== 强>
arr.sort(function (a, b) {
var aa, bb;
if (!isNaN(a[0]) && !isNaN(b[0])) {
return a[0] - b[0];
} else {
aa = a[0].toString().toLowerCase();
bb = b[0].toString().toLowerCase();
return (aa == bb) ? 0 : (aa < bb) ? -1 : 1;
}
});
答案 2 :(得分:1)
使用此代码对数组进行排序..
var arr = [[0,"lol"],[6,"yo"],[5,"comon"]];
arr.sort(function(a, b) {
if (a[0] == b[0]) {
return 0;
} else {
return a[0] < b[0] ? -1 : 1;
}
});