Javascript 按数组中的值对复杂数组进行排序

Javascript 按数组中的值对复杂数组进行排序,javascript,arrays,object,undefined,sorting,Javascript,Arrays,Object,Undefined,Sorting,我在使用本地存储存储的对象中设置了一个javascript数组。这是Phonegap游戏的高分,格式为{'0':[[score,time],[score,time]}其中0是类别。我可以使用a[1][0]查看分数。我想先对高分进行排序 var c={'0':[[100,11],[150,12]}; c.sort(function(){ x=a[0]; y=b[0]; return y-x; } 然而,b[0]总是给出一个未定义的错误 我是Javascript新手,这是我

我在使用本地存储存储的对象中设置了一个javascript数组。这是Phonegap游戏的高分,格式为
{'0':[[score,time],[score,time]}
其中0是类别。我可以使用
a[1][0]
查看分数。我想先对高分进行排序

var c={'0':[[100,11],[150,12]};
c.sort(function(){
    x=a[0];
    y=b[0];
    return y-x;
}
然而,b[0]总是给出一个未定义的错误


我是Javascript新手,这是我作为学习经历的第一次主要测试。虽然我看过许多关于stackoverflow的示例,但仍然无法理解这一点。

您需要向comparator函数声明参数

c.sort(function(){
应该是

c.sort(function(a, b){
您需要调用数组上的
排序
,正如“am not i am”所指出的那样

var c={'0':[[100,11],[150,12]]};
c[0].sort(function(a, b){
    var x=a[0];
    var y=b[0];
    return y-x;
});
使
c
处于以下状态:

{
  "0": [
    [150, 12],
    [100, 11]
  ]
}
函数最大四(arr){
对于(变量x=0;x
var myArray=[[11,5,6,3,10],[22,55,33,66,11,00],[32,35,37,39],[1000,1001,1002,1003,999];
_.eachRight(myArray,函数(值){
var descending=u.sortBy(value.reverse();
控制台日志(下降);
});

a
b
在哪里/如何定义?您给出的示例在语法上不正确:缺少一个方括号:
{'0':[[score,time],[score,time]}
@Jeff a和b是默认的。排序参数。因此a[0]应该是阵列中的第一个项目吗?@Matt谢谢!我正在为帖子重新键入内容,但没有找到that@Mike感谢您的快速和令人敬畏的响应!我已经在这里和谷歌上查看示例好几天了……我没有意识到我必须有参数
(a,b)
在函数中。只需添加代码,我的分数最终按正确的顺序排列!
function largestOfFour(arr) {

    for(var x = 0; x < arr.length; x++){
        arr[x] = arr[x].sort(function(a,b){
            return b - a;
        });
    }

    return arr;
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);