这是我的数组,例如:
25 test1, 50 test 50, 10 item ten,100 test100 hi,75 seventy five ok, alpha menu item, bravo ok
我尝试了这个功能,我在这里找到了:
function arraySort(pArray) {
pArray.sort(
function(a,b) {
var len=a.length;
for (var i=0;i<len;i++) {
if (a[i]>b[i]) return 1;
else if (a[i]<b[i]) return -1;
}
return 0;
}
);
}
但不能以某种方式排序。只想在第一个项目上对多维数组进行排序只是一个数字。好吧,我猜是一个角色,如果是这样的话。
谢谢你们的帮助。
麦克
答案 0 :(得分:0)
这应该有效:http://jsfiddle.net/xqhtf2z4/
function arraySort(pArray) {
pArray.sort(
function(a,b) {
if ((isNaN(a[0]) && isNaN(b[0])) || (!isNaN(a[0]) && !isNaN(b[0]))) {
if (a[0] > b[0]) {
return 1;
}
else if (a[0] < b[0]) {
return -1;
}
else {
return 0;
}
}
else {
if (isNaN(a[0])) {
return 1;
}
else { // isNaN(b[0]) == true
return -1;
}
}
}
);
}
答案 1 :(得分:0)
var arr = ["bravo ok", "alpha menu item", "25 test1", "50 test 50", "10 item ten","100 test100 hi","75 seventy five ok"];
arr.sort(function(a,b){return a.localeCompare(b);})
输出是:
["10 item ten", "100 test100 hi", "25 test1", "50 test 50", "75 seventy five ok", "alpha menu item", "bravo ok"]
对我来说很好。
答案 2 :(得分:0)
var yourArray = ['25 test1', '50 test 50', '10 item ten', '100 test100 hi', '75 seventy five ok', 'alpha menu item', 'bravo ok'];
function arraySort(pArray) {
return pArray.sort(function(a, b) {
var an = parseInt(a), bn = parseInt(b);
return an > bn || isNaN(bn) ? -1 : bn > an || isNaN(an) ? 1 : 0;
});
}
// now call arraySort
var sortedArray = arraySort( yourArray );