【发布时间】:2017-03-24 13:57:32
【问题描述】:
我有一个数组,其值为var arr = [["imagelink1","0","20"],["imagelink2","21","50"],["imagelink3","51","100"],["imagelink4","101","200"],[null]];
我从无法修改的 csv 中获取此数组。
第一个是图像链接,第二个元素是开始时间,第三个元素是结束时间。我需要调用一个具有时间值的函数,例如 display,它将检查它属于哪个时间范围并返回图像链接。
function displayimage(timval){ Code here }
调用函数displayimage(22);应该检查数组并返回 imagelink2。什么可能是最优化的解决方案?
【问题讨论】:
-
不应该返回
imagelink2吗? -
是的。 imagelink2.
-
“我从无法修改的 csv 中获取此数组。” - 您可能无法修改源 CSV,但这并不意味着您不能(重新)构造您的数组,但是您喜欢以便于处理。无论如何,为什么一个简单的循环不是一个有效的解决方案?元素的时间似乎是按升序排列的,所以......只要找到合适的时间就循环并突破。
-
JS 是一种异步语言。如果您事先获得了每个要显示的项目的时间表,那么您可能很容易触发
arr.length很多setTimeout事件,以便在适当的时间调用您的显示功能并忘记它们。
标签: javascript arrays time