Javascript 如何在对象列表中查找重复的时间范围
所以基本上我有一个列表对象,我需要找到一个重复的时间范围,这个时间范围是重复的,我面临这样的问题,因为我无法创建正确的逻辑。如有任何帮助,我们将不胜感激Javascript 如何在对象列表中查找重复的时间范围,javascript,time,logic,Javascript,Time,Logic,所以基本上我有一个列表对象,我需要找到一个重复的时间范围,这个时间范围是重复的,我面临这样的问题,因为我无法创建正确的逻辑。如有任何帮助,我们将不胜感激 [ { from : '25/4/2020 08:00:00', to : '25/4/2020 10:00:00', }, { from : '25/4/2020 09:00:00', to : '25/4/2020 10:00:00', }, { from : '25/4/2020
[
{
from : '25/4/2020 08:00:00',
to : '25/4/2020 10:00:00',
},
{
from : '25/4/2020 09:00:00',
to : '25/4/2020 10:00:00',
},
{
from : '25/4/2020 09:30:00',
to : '25/4/2020 12:00:00',
},
{
from : '25/4/2020 10:00:00',
to : '25/4/2020 13:00:00',
},
{
from : '25/4/2020 13:30:00',
to : '25/4/2020 17:00:00',
}
]
从上面的对象数组中,我希望得到如下形式的结果
[
{
from : '25/4/2020 09:00:00',
to : '25/4/2020 10:00:00',
count: 2
},
{
from : '25/4/2020 09:30:00',
to : '25/4/2020 10:00:00',
count: 3
},
{
from : '25/4/2020 10:00:00',
to : '25/4/2020 12:00:00',
count: 2
}
]
我建议将持续时间解析为一个数字。这可以通过moment.js这样的库来完成
[
{
from : '25/4/2020 08:00:00',
to : '25/4/2020 10:00:00',
duration: how to set duration with moment you can find [here][1],
count: 0
}
]
[1]: https://momentjs.com/docs/#/durations/diffing/
之后,我将使用forEach遍历时间,并检查是否有任何其他对象具有完全相同的持续时间,如下所示:
timeObject.forEach((timeObject, index, array)=>{
if(array.includes(timeObject.duration)){
timeObject.count++
}
});
“数组”是指它所遍历的数组。您的尝试在哪里?