Javascript 按第一个数字对多维数组排序

Javascript 按第一个数字对多维数组排序,javascript,arrays,sorting,multidimensional-array,Javascript,Arrays,Sorting,Multidimensional Array,以下是我的数组示例: 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&

以下是我的数组示例:

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;
        }
    );
}
函数数组排序(pArray){
帕雷排序(
功能(a、b){
var len=a.长度;
对于(var i=0;ib[i])返回1;
否则,如果(a[i],这应该可以:

函数数组排序(pArray){
帕雷排序(
功能(a、b){
如果((isNaN(a[0])&&isNaN(b[0]))| |(!isNaN(a[0])&&&isNaN(b[0])){
如果(a[0]>b[0]){
返回1;
}
else如果(a[0]
输出为:

["10 item ten", "100 test100 hi", "25 test1", "50 test 50", "75 seventy five ok", "alpha menu item", "bravo ok"]

对我来说很好。

所以需要根据字符串开头的数字对数组进行排序,如果它是一个数字,我相信。myArray=[25 test1,50 test50,10 item ten,100 test100 hi,75七十五ok,alpha菜单项,bravo ok];制作一个2D数组,其中第一列是数字,然后按数字排序,然后放在一起输出,输出是数字和字符串,然后a\n表示回车:)所以需要根据字符串开头的数字对数组进行排序,我相信如果它是数字,如果它是alpha,只需添加到数组的末尾。谢谢。好的,排序后数组是未定义的。我们需要在代码中使用返回鹦鹉吗?我正在学习这一切。我添加了数组,现在返回数组,尽管由于某种原因它没有正确排序。在jsfidd中le I linked,它显示第一个元素的第一个元素值,然后显示最后一个元素的第一个元素值。没有任何内容不应定义;检查我是如何编写小提琴的。以下是输出:调试:排序前2566:10测试,11测试我,25显示我,100百分之一百在此,Blue man,33测试30调试:排序后2569:11测试我,25显示我,10测试,100百分之一百d在这里,33测试30,Blue manso需要根据字符串开头的数字对数组进行排序我相信如果它是数字,如果它是alpha,只需添加到数组的末尾。谢谢。嗨,Vikas,它似乎不起作用,我可以再试一次。感谢您的帮助。数组是字符串,字符串中的第一项是数字。理解,不确定为什么会这样d待办事项。:)HummThanksher输出:调试:排序前2566:10个测试,11个测试我,25个显示我,100个在这里,Blue man,33个调试测试:排序后2569:11个测试我,25个显示我,10个测试,100个在这里,33个测试,Blue mansorts,但100到10,所以下降,我首先希望最小的数字
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 );
["10 item ten", "100 test100 hi", "25 test1", "50 test 50", "75 seventy five ok", "alpha menu item", "bravo ok"]
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 );