Javascript/jQuery从每个循环中获取上一个数组值

Javascript/jQuery从每个循环中获取上一个数组值,javascript,jquery,Javascript,Jquery,我有这些数据数组dataTimeName {"imsak":"04:44","fajr":"04:54","sunrise":"06:15","dhuhr":"12:17","asr":"15:40","maghrib":"18:19","isha&

我有这些数据数组
dataTimeName

{"imsak":"04:44","fajr":"04:54","sunrise":"06:15","dhuhr":"12:17","asr":"15:40","maghrib":"18:19","isha":"19:31"}
还有JS

$.each(dataTimeName,function(key, val)
{
    var current = "15:40";
    var previousArray = ""; //<-- how to get the previous from current?
});

您可以在foreach函数外部存储上一次迭代的值,并在函数结束时进行更新

但是,如果您的对象必须以特定的方式排序,则可能更容易将其存储为经典数组,这样您就可以通过
dataTime[key-1]


还要小心,因为第一次迭代不会定义上一个值。

您有一个排序数组,因此可以访问它的上一个索引:

let dataTimeName={“imsak”:“04:44”,“fajr”:“04:54”,“sunrise”:“06:15”,“dhuhr”:“12:17”,“asr”:“15:40”,“maghrib”:“18:19”,“isha”:“19:31”};
让电流=“15:40”
//排序数组
让item_index=Object.values(dataTimeName.findIndex)(v=>v==current);
让previousArray=Object.entries(dataTimeName).filter((513;,index)=>indexparseInt(value.replace(':',''){
if(parseInt(value.replace(':','')index您可以在某个数组中添加JSON值,并使用该值获取当前的索引(即搜索),然后只需减去
-1
并访问上一个值

演示代码

var dataTimeName={
“伊姆萨克”:“04:44”,
“fajr”:“04:54”,
《日出》:“06:15”,
“德胡尔”:“12:17”,
“asr”:“15:40”,
《马格里布》:“18:19”,
“伊莎”:“19:31”
};
无功电流=“15:40”;
变量ID=[]
$.each(dataTimeName,函数(key,val){
id.push(val);//在数组中推送值
});
控制台日志(ids)
//查找值与-1匹配的索引(以获取以前的值)
var position=ids.findIndex(x=>x==currents)-1
console.log(id[position])//这样的访问值

也许数组有这样的顺序是有意义的。你可以将你的对象时间转换成数组,然后访问上一个时间。嗨@Hassaniam,你能举个例子吗?可能是这样的
[“04:44”,“04:54”,“06:15”,“12:17”,“15:40”,“18:19”,“19:31”]
Hi,刚才尝试了你的代码。但我只需要上一次的结果。所以我只需要得到12:17你写的:
previousArray
所以我写了这个,我会更新