在我的javascript中,我有一个日历对象数组。
每个日历对象都有一个 CalendarEvent 对象数组
每个 CalendarEvent 对象都有一个属性日期,名称。
我想检查,给出一个日期,它存在于特定的日历中。
我想知道是否可以使用jquery.InArray(),但似乎我必须遍历日历中的每个 CalendarEvent 对象才能找到它。 / p>
有没有更快的方法来进行搜索?
答案 0 :(得分:2)
有没有更快的方法来进行搜索?
您可以构建索引(例如反向查找)。
例如,您的Calendar对象可以具有Date =>的对象。 CalendarEvent映射。密钥(日期)必须序列化为字符串(插入对象),因此您可能希望使用UNIX时间作为密钥。
答案 1 :(得分:0)
根据您概述的结构,检测特定日期是否存在的唯一方法是遍历Calender对象数组,然后循环遍历其事件。正如strager所提到的,你可以维护一个对象,将每个日期映射到特定的索引或CalenderEvent,但这可能需要修改日历逻辑。