1

我有以下 JavaScript 数组,

var myArr= [{
    "key" : "Consumer Discretionary",
    "values" :[ 
               [1146369600000, 26.425199957521],
               [1138683600000, 27.38478809681],
               [1141102800000, 27.371377218208], 
               [1143781200000, 26.309915460827] 
              ]}, 
    {
     "key" : "Consumer Staples",
     "values" :[
                [1159588800000, 7.2800122043237], 
                [1141102800000, 7.1187787503354], 
                [1167541200000, 8.351887016482], 
                [1146369600000, 8.4156698763993]
              ]}
     ];

如何按升序对“key”Consumer Discretionary 和 Consumer Staples 的“值”进行排序,使其看起来像

非必需消费品:-

[1138683600000, 27.38478809681] 
[1141102800000, 27.371377218208] 
[1143781200000, 26.309915460827]
[1146369600000, 26.425199957521]

对此有什么帮助吗?提前致谢

4

1 回答 1

2

Try the following:

function valuePredicate(a,b){
    return a[0]!==b[0] ? a[0]-b[0] : a[1]-b[1];
}

for(var i=0; i < myArr.length;++i){
    myArr[i].values.sort(valuePredicate);
}

Live demo

于 2012-07-24T12:07:48.237 回答