【发布时间】:2017-10-10 18:10:50
【问题描述】:
我必须对此进行排序:
我从两个不同的select 查询中获取数据库中的数据,我必须按mpriority 和mdate 对它们进行排序。
我知道如何对对象数组进行排序,但我不能使用 object 或 object.key
var allocations = new Array();
allocations[0] =
[ qtA = 15,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 5,
mdate= new Date('2017-04-27 11:26:02.147'),
];
allocations[1] =
[
qtA= 13,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 5,
mdate= new Date('2016-10-07 00:00:00.000'),
];
allocations[2] =
[
qtA= 16,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 4,
mdate= new Date('2017-04-27 11:26:02.147'),
];
allocations[3] =
[
qtA= 95,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 1,
mdate= new Date('2016-10-06 00:00:00.000'),
];
allocations[4] =
[
qtA= 75,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 8,
mdate= new Date('2017-02-20 12:41:34.903'),
];
allocations[5] =
[
qtA= 45,
mdata= '1234',
mid = '234234234',
qtyToDoTemp= 11,
mpriority= 0,
mdate= new Date('2017-04-27 11:26:02.147'),
];
排序函数应该首先查看mpriority - 如果两个值相同,则检查mdate
我觉得应该是这样的
var sortOptions = {
byPriorityAndDate: function (a, b) {
return (b.mpriority - a.mpriority) || (a.mdate - b.mdate);
},
}
以及如何检查我正在处理的 js 版本?
【问题讨论】:
-
您的排序功能遇到了什么问题?注意:(1)您的数组定义的语法没有按照您的想法执行。 (2) 要了解 JavaScript 的版本,请阅读浏览器的版本发布内容。另见this simple check
-
这是伪代码还是什么?因为看起来你正在尝试创建一个对象而不是一个数组
标签: javascript arrays sorting multidimensional-array