如果我必须将日期范围对象或数组排序到多个数组实例中以使范围不冲突(构建计划),我可以迭代每一个用范围填充它的范围,直到最大非冲突的结束范围被推送到一个实例中,但是不会迭代一个" room" / array的实例,但日期范围是不是更简单?
这个函数会循环使用房间数量并确定总体可用性,但是它很密集,我宁愿看到迭代数据的东西(假设我对数据设置初始约束而不需要更多实例房间比实际的实际情况。)
function fillScheduleForRoom(n) {
if Math.max(n.end) < Math.min(data.start)
// sort data by ascending order, but should I call each on Math.min?
data = Math.min(data.index).splice //
return function fillScheduleForRoom(n.push[Math.min(data)])
if else Math.min(n.end) = unidentified
return function fillScheduleForRoom([[null],[null]]);
else return n;
}
P.S。我意识到我必须将数据[min]存储到另一个变量中以拼接和返回函数(push var forDataMin)。
注意:应用程序使用这种非正统的创建预订应用程序的方法,从这个函数你创建一个表示可用性的数组,在我的例子中插入没有所有者的新数组。显示无主数组索引(预留点)给客户端以更新为自己,并在此之后再次运行此功能的日期范围。为了在启动时创建约束,运行另一个迭代房间的函数,为数量和/或空间类型创建预留点。
详细说明:就像这样:保留json,标题与房间类型(顶层公寓)匹配,以及与其所属的用户一起停留的日期。其中一只小狗和其他小狗一起被吸入了一个小区,在那里它们都开始在时间线上填满房间,然后在fillScheduleForRoom环绕房间量(几乎配置)时进行到下一个小屋。该函数的工作方式是,它将先前制作的下一个最接近的预留并在预留已放入阵列之后将其粘贴(而不是.min的数据开始停留)。这样你基本上可以尽可能多地填充第一个房间,同时留下最后一个房间假设是免费的,此时如果你把间隙插入并作为新的预订插入你让用户更新为你自己,你点跨越整个计划的无主保留意味着当运行以数据为中心的功能而不是循环超过房间数量时,您必须创建该房间的新实例,因为之前的实例并非如此。在他们的日程表中适合该预订。一旦房间预订结束,它的继任者的日期从上一个开始结束开始,结束于真或无限(希望是真的)接管用户更新为自己,再次触发此功能创建新的预订(通过2个预订的开始和结束日期,如果失败只是附加为真)。
我在meteor.js上工作,它不需要ajax,或者处理callbalcks同时也是同构的,所以这就是我看到的更简单的解决方案来写出结论查询的逻辑预订是可以接受的。