Javascript 从数组中获取时间差
我有一个这样的数组-Javascript 从数组中获取时间差,javascript,node.js,typescript,Javascript,Node.js,Typescript,我有一个这样的数组- [ 'State is:1Time:2019-2-3 11:45:02', 'State is:1Time:2019-2-3 12:45:05', 'State is:1Time:2019-3-4 11:45:00', 'State is:2Time:2019-3-5 11:45:08', 'State is:2Time:2019-4-5 11:45:10', 'State is:2Time:2019-4-5 11:45:12', ]
[ 'State is:1Time:2019-2-3 11:45:02',
'State is:1Time:2019-2-3 12:45:05',
'State is:1Time:2019-3-4 11:45:00',
'State is:2Time:2019-3-5 11:45:08',
'State is:2Time:2019-4-5 11:45:10',
'State is:2Time:2019-4-5 11:45:12', ]
使用Javascript,我如何按状态检查事件并减去它们的时间。例如,这意味着
state1
发生了3次,我想要第一次发生state1
与时间的时间差2019-2-3 11:45:02
第三次出现在时间为2019-3-4 11:45:00的状态1中?对于状态2也一样。您可以这样做
function calculateTime() {
var array = [ 'State is:1Time:2019-2-3 11:45:02',
'State is:1Time:2019-2-3 12:45:05',
'State is:1Time:2019-3-4 11:45:00',
'State is:2Time:2019-3-5 11:45:08',
'State is:2Time:2019-4-5 11:45:10',
'State is:2Time:2019-4-5 11:45:12', ];
var previousState=0;
var previousTime = 0;
for(var i=0;i<array.length;i++)
{
var str = array[i];
str = str.split('Time');
var str1 = str[0].split(":");
var str2 = str[1].split(/:{0-1}/);
var currentState = str1[1];
var date = new Date(str2[0].substring(1,str2[0].length));
var currentTime = date.getTime();
if((previousState != currentState && (i >0 )|| i ==array.length-1) )
{
console.log(currentTime - previousTime);
}
previousState = currentState;
previousTime = currentTime;
}
}
函数计算时间(){
变量数组=['状态为:1时间:2019-2-3 11:45:02',
“状态为:1时间:2019-2-3 12:45:05”,
“状态为:1时间:2019-3-4 11:45:00”,
“状态为:2时间:2019-3-5 11:45:08”,
“状态为:2时间:2019-4-5 11:45:10”,
'状态为:2时间:2019-4-5 11:45:12',];
var previousState=0;
var previousTime=0;
对于(var i=0;i0)| | i==array.length-1))
{
console.log(currentTime-previousTime);
}
previousState=当前状态;
previousTime=当前时间;
}
}
欢迎来到Stackoverflow。请参阅。并添加您所面临问题的更多详细信息。共享您迄今为止尝试过的相关代码片段。