【发布时间】:2018-07-16 00:57:02
【问题描述】:
这是一个非常基本的问题,我可以在几秒钟内用 Python 完成 - 但我是 Javascript 新手,也许我只是不知道该语言的命名法,但我的研究还没有完全回答它。
我正在调用 API;作为回应,我得到了:
let unordered_ranges = [[
[1461913200000, 57, 69],
[1380006000000, 75, 79],
[1321344000000, 78, 79],
[1276585200000, 69, 75],
[1252998000000, 68, 76],
[1234512000000, 79, 81],
[1423814400000, 77, 78],
[1489820400000, 69, 79]
]];
嵌套数组中的第一个元素是以毫秒为单位的时间戳。如何使用嵌套时间戳按时间顺序对父数组进行排序?
到目前为止,我得到了:
let ranges= unordered_ranges.sort(function (a, b) {
return a > b
});
我知道 .sort() 是字典式的;所以我需要传递我自己的函数来对其进行排序;但是这个功能并没有完全做到这一点。
【问题讨论】:
-
这不是一个嵌套数组,它是一个包含单个对象的数组,该对象的属性 0-9 是数组。在 javascript 对象键中不能排序。您可能希望将 api 的响应解析为真正的数组。
-
Array.prototye.sort回调应该返回一个整数,通常在-1到1的范围内。您正在返回一个布尔值 -
请显示预期输出的样子
-
您的示例代码现在不再是有效的 JavaScript。你实际上有什么?
-
再次更新...当我打印到控制台时,这正是我所看到的。
标签: javascript arrays sorting multidimensional-array