gpt4 book ai didi

javascript - 在javascript中根据时间戳排序

转载 作者:行者123 更新时间:2023-11-30 18:22:07 24 4
gpt4 key购买 nike

我的 javascript 中有两个变量。消息函数:var message一个时间戳函数:var date(它是时间戳类型)..

现在我有一个数组,它根据时间戳存储消息。有点像

    var input = []; //dynamic array to store both message and date
var date = new Date(update.data.history[i].timestamp * 1000); //Getting from Json object
var date_input = date.toLocaleTimeString();
var message = update.data.history[i].message;
for (i to length)
{
input.push({ key: date_input, value: message }); //Key refers to date, and value to message
}
input.sort(sort_by(key,true,parseInt));

我的函数 sort_by

var sort_by = function(field, reverse, primer){

var key = function (x) {return primer ? primer(x[field]) : x[field]};

return function (a,b) {
var A = key(a), B = key(b);
return (A < B ? -1 : (A > B ? 1 : 0)) * [1, -1][+!!reverse];
}
}

现在,我尝试使用 firebug 进行调试,发现我的排序功能无法正常工作。我使用时间戳作为关键,但仍然没有运气。无论如何我可以根据时间戳对其进行排序然后显示它。 我在 SO 上尝试了其他排序解决方案,但我想当有像时间戳这样的数据类型时,还有另一种排序方法吗?

最佳答案

在对象字面量中,您不必引用键:

input.push({ key: date_input, value: message });

但是,您的函数采用三个参数,它们没有以类似对象的表示法给出,因此 key 的含义是未知的,并且会导致 ReferenceError:

input.sort(sort_by(key,true,parseInt));                   ^ReferenceError: key is not defined

Use a string as argument instead and it should work:

input.sort(sort_by("key",true,parseInt));

关于javascript - 在javascript中根据时间戳排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com