我使用以下方法检查2个项目是否共享相同的索引:
function doIndexesColide(itemA,itemB){
return ((itemA.startIndex >= itemB.startIndex) && (itemA.startIndex <= itemB.endIndex))
|| ((itemA.endIndex >= itemB.startIndex) && (itemA.endIndex <= itemB.endIndex))
|| ((itemA.startIndex <= itemB.startIndex) && (itemA.endIndex >= itemB.endIndex))
}
哪个工作正常,但我觉得它可能是一个更简单的方法,并想重构。
这是该方法的规范 - 给定2个具有起始端索引值的项目,如果项目冲突则返回true / false(仅考虑开始/结束索引,这不是图形冲突检测但只考虑索引)