我有一个对象数组,我想使用.sort()函数进行排序。它应该按三个值排序(首先是第一个值,然后是第二个,最后是第三个值)。 我试过类似下面的东西,但它似乎不能正常工作。Javascript:通过三个值排序对象数组
myArray.sort(function(a,b) {
if (a.Value1 === b.Value1) {
if (a.Value2 === b.Value2) {
return (a.Value3 < b.Value3) ? -1 : (a.Value3 > b.Value3) ? 1 : 0;
} else {
return (a.Value2 < b.Value2) ? -1 : 1;
}
} else {
if (a.Value2 === b.Value2) {
return(a.Value1 < b.Value1) ? -1 : 1;
} else {
return (a.Value2 < b.Value2) ? -1 : 1;
}
}
});
任何帮助将不胜感激。
为什么在'else'语句中检查'Value2'?如果'Value1'已经不同,'Value2'不会影响订单。 – Amberlamps