Javascript 如果有对象集合,则使用jquery.InArray()
在我的javascript中,我有一个日历对象数组 每个日历对象都有一个日历事件对象数组 每个CalendarEvent对象都有一个属性日期、名称 我想检查,给出一个日期,它存在于一个特定的日历中 我想看看是否可以使用jquery.InArray(),但似乎我必须遍历日历中的每个CalendarEvent对象才能找到它 有没有更快的方法来做这个搜索 有没有更快的方法来做这个搜索 您可以建立索引(例如反向查找)Javascript 如果有对象集合,则使用jquery.InArray(),javascript,jquery,arrays,Javascript,Jquery,Arrays,在我的javascript中,我有一个日历对象数组 每个日历对象都有一个日历事件对象数组 每个CalendarEvent对象都有一个属性日期、名称 我想检查,给出一个日期,它存在于一个特定的日历中 我想看看是否可以使用jquery.InArray(),但似乎我必须遍历日历中的每个CalendarEvent对象才能找到它 有没有更快的方法来做这个搜索 有没有更快的方法来做这个搜索 您可以建立索引(例如反向查找) 例如,您的日历对象可以具有日期=>CalendarEvent映射的对象。键(日期)必须
例如,您的日历对象可以具有日期=>CalendarEvent映射的对象。键(日期)必须序列化为字符串(要插入到对象中),因此您可能希望使用UNIX时间作为键。根据您概述的结构,检测特定日期是否存在的唯一方法是在日历对象数组中循环,然后在其事件中循环。正如strager所提到的,您可以维护一个将每个日期映射到特定索引或CalendarEvent的对象,但这可能需要修改Calendar逻辑