我有这个3D阵列
var array = [
[
{
ipo: 10
}
],
[
{
ipo: 5
}
],
[
{
ipo: 15
}
],
];
我希望按升序和降序排序。 我试过这个:
array.sort(function(a, b) { //ascending
return a.ipo - b.ipo;
});
但不起作用......
你有什么建议?也许我需要在函数内添加for loop
?
答案 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);