javascript - 按值对数组的复杂数组进行排序

标签 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 的新手,这是我作为学习经验的第一个主要测试。尽管我已经查看了 stackoverflow 上的许多示例,但仍然无法理解这一点。

最佳答案

您需要声明比较器函数的参数。

c.sort(function(){

应该是

c.sort(function(a, b){

你需要在一个数组上调用sort,因为“我不是我”指出了这一点

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]
  ]
}

关于javascript - 按值对数组的复杂数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9316119/

相关文章:

javascript - react 路由器 - 未定义的历史

javascript - HTML5 视频播放按钮重叠问题

javascript - 输出对象的属性

javascript - Javascript中的Node接口(interface)是一个对象吗?

javascript - 如何删除循环内嵌套的 JS 对象?

javascript - 将分钟添加到当前时间,JavaScript

javascript 在 Firefox 中失败,但在 IE 中工作正常

javascript - 使用 JavaScript 为图片添加动画效果

arrays - 将 Perl 数组放入哈希中

arrays - 在遍历数组时检查某些 "divider elements"是否有规律地间隔?