data = [["Apples", 606.8, "pos151.5", "12-11-19"],
["Apples", 608.8, "pos213.9", "12-11-19"],
["Apples", 610.5, "pos271.6", "12-11-19"],
["Apples", 612.5, "pos325", "12-11-19"],
["Apples", 609.4, "pos521.7", "12-11-19"],
["Apples", 611.1, "pos622.8", "12-11-19"],
["Bananas", 626.1, "pos175", "02-20-20"],
["Bananas", 626.1, "pos234.2", "02-20-20"],
["Bananas", 630, "pos321", "02-20-20"],
["Bananas", 620.6, "pos97", "02-20-20"],
["Pears", 616.5, "pos150.9", "10-17-19"],
["Pears", 616.6, "pos17.2", "10-17-19"],
["Pears", 615.4, "pos300.9", "10-17-19"],
["Pears", 614, "pos446.9", "10-17-19"],
["Oranges", 616.1, "pos127.69", "10-21-19"],
["Oranges", 616.1, "pos177.49", "10-21-19"],
["Oranges", 616.1, "pos233.69", "10-21-19"],
["Oranges", 616.5, "pos383.73", "10-21-19"],
["Oranges", 616.3, "pos546.93", "10-21-19"],
["Oranges", 615.2, "pos637.99", "10-21-19"]]
我该如何按日期升序对每个数组(日期字符串)中的第4个值排序?
我假设是这样,但是我不确定如何在没有字段名/键的情况下调用数组中的第4个值:
data.sort(function(a,b) {
return new Date(a.date).getTime() - new Date(b.date).getTime()
});
谢谢。
答案 0 :(得分:3)
当没有为数组设置键时,只需通过基于零的数字索引即可访问它们。因此,要访问第四项,您将使用data[3]
。因此,以您的排序示例为例,
data.sort(function(a,b) {
return new Date(a[3]).getTime() - new Date(b[3]).getTime()
});