Javascript jQuery从时间集数组中挑出时间范围
我使用jQuery处理一小时时间集数组,例如:Javascript jQuery从时间集数组中挑出时间范围,javascript,jquery,sorting,time-series,Javascript,Jquery,Sorting,Time Series,我使用jQuery处理一小时时间集数组,例如: {hours[0] = '12a-1a', hours[1] = '1a-2a', hours[2] = '2a-3a', hours[3] = '2p-3p', hours[4] = '9p-10p', hours[5] = '10p-11p'} 想知道是否有人知道如何从上述数组中的连续小时范围中提取开始和结束时间,例如: 范围1:12a-3a 范围2:2p-3p 范围3:9p-11p 最终目标是向用户显示汇总范围,如下所示: 您选择
{hours[0] = '12a-1a',
hours[1] = '1a-2a',
hours[2] = '2a-3a',
hours[3] = '2p-3p',
hours[4] = '9p-10p',
hours[5] = '10p-11p'}
想知道是否有人知道如何从上述数组中的连续小时范围中提取开始和结束时间,例如:
范围1:12a-3a
范围2:2p-3p
范围3:9p-11p
最终目标是向用户显示汇总范围,如下所示:
您选择了:12a-3a、2p-3p和9p-11p
到目前为止,我知道如何显示用户选择的唯一方法是显示小时数组中的每个系列。在大屏幕上,这样的画面太多而无法在屏幕上显示
任何帮助都将不胜感激 由于数据采用自定义字符串格式,因此需要执行以下操作:
- 将字符串时间转换为时间值项
- 合并相邻时间的范围
- 将合并的时间范围转换回显示格式
- 使用“和”显示连接的结果
12a-2a and 2p-3p and 9p-10p
由于数据采用自定义字符串格式,因此需要执行以下操作:
- 将字符串时间转换为时间值项
- 合并相邻时间的范围
- 将合并的时间范围转换回显示格式
- 使用“和”显示连接的结果
12a-2a and 2p-3p and 9p-10p
关联数组-不确定格式是否正确,但我认为人们可以理解其含义。这可能是XY问题。也许你应该考虑使用一种数据格式,而不是那些字符串表示形式。如果小时是一个数组,你可以只使用<代码>连接< /代码>即<代码>小时。然后您可以在合并后应用显示格式。下面添加了我建议的工作示例。它可以被进一步清理,但它应该给你一些关于如何处理这类问题的想法。。。暂停以获取鼓形滚动。关联数组-不确定正确的格式,但我认为人们可以理解这个想法。这可能是一个XY问题。也许你应该考虑使用一种数据格式,而不是那些字符串表示形式。如果小时是一个数组,你可以只使用<代码>连接< /代码>即<代码>小时。然后您可以在合并后应用显示格式。下面添加了我建议的工作示例。它可以被进一步清理,但它应该给你一些关于如何处理这类问题的想法。。。暂停打鼓。非常感谢!!!!我所要做的就是编辑:
functionformattedtime(item){returnformattime(item.start)+'-'+formatTime(item.end);}
tofunctionformattedtime(item){returnformattime(item.start)+'-'+formatTime(item.end+1);}
它就像一个charmYou不需要在结束时间中加1的字符。你确定吗?我想虫子在别的地方。。。让我检查一下。一旦我换了它,它就工作得很好。你太棒了!!!!所需的输出是12a-3a和2p-3p以及9p-11p
No,错误在merged[merged.length-1]中。end=result.end代码>继续我的更新(我意外地得到了=result.start
)。如果你使用你的修复程序,它将只适用于一个案例(最后一个条目是1小时后)。我明白了…谢谢你在这个案例上的所有工作…如果我能给你更多的代表,我会的!!!非常感谢你!!!!我所要做的就是编辑:functionformattedtime(item){returnformattime(item.start)+'-'+formatTime(item.end);}
tofunctionformattedtime(item){returnformattime(item.start)+'-'+formatTime(item.end+1);}
它就像一个charmYou不需要在结束时间中加1的字符。你确定吗?我想虫子在别的地方。。。让我检查一下。一旦我换了它,它就工作得很好。你太棒了!!!!所需的输出是12a-3a和2p-3p以及9p-11p
No,错误在merged[merged.length-1]中。end=result.end代码>继续我的更新(我意外地得到了=result.start
)。如果你使用你的修复程序,它将只适用于一个案例(最后一个条目是1小时后)。我明白了…谢谢你在这个案例上的所有工作…如果我能给你更多的代表,我会的!!!