我很蠢,求帮忙解决一个算法问题,关于判断当前值是否在范围值内的算法

clipboard.png

我需要获取页面每次滚动时的scrolltop值,然后判断这个值在上面数组的区间索引,怎么算呢?求助

阅读 2.8k
3 个回答

这样?

function getRangeIndex() {
    var i=0;
    for (;i<ranges.length;i++) 
        if (scrollTop<ranges[i]) break;
    return i-1;
}

目测你的数组元素是递增的,可以用二分法

递增的,果断二分
不是递增的先排序再二分

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题