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

Sort Complex Array of Arrays by value within

本文关键字:数组 排序 复杂      更新时间:2023-09-26

我在本地存储的对象中设置了一个javascript数组。对于格式为{'0':[[score,time],[score,time]}的Phonegap游戏来说,这是高分,其中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){

你需要在数组上调用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]
  ]
}
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]]);

var myArray = [ [11, 5, 6, 3, 10], [22,55,33,66,11,00], [32, 35, 37, 39], [1000, 1001, 1002, 1003, 999]];
_.eachRight(myArray, function(value) {
  var descending = _.sortBy(value).reverse();
  console.log(descending);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.js"></script>