如何在javascript中对3维数组进行排序?

时间:2018-02-13 12:19:20

标签: javascript arrays sorting

我有这个3D阵列

var array = [
     [
       {
          ipo: 10
       }
     ],
     [
       {
          ipo: 5
       }
     ],
     [
       {
          ipo: 15
       }
     ],
];

我希望按升序和降序排序。 我试过这个:

array.sort(function(a, b) {   //ascending
 return a.ipo - b.ipo;
}); 

但不起作用...... 你有什么建议?也许我需要在函数内添加for loop

2 个答案:

答案 0 :(得分:5)

假设内部数组中只有一个元素,您可以使用此元素来访问属性

var array = [[{ ipo: 10 }], [{ ipo: 5 }], [{ ipo: 15 }]];

array.sort(function(a, b) {
    return a[0].ipo - b[0].ipo;
});

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:1)

它不起作用,因为不存在b.ipo。您可以使用b[0].ipo然后进行比较,例如:



var array = [ [ { ipo: 10 } ], [ { ipo: 5 } ], [ { ipo: 15 } ], ];
array.sort(function(a, b) {
 return a[0].ipo > b[0].ipo;
}); 
console.log(array);