javascript - js 如何判断一个数字在一个数字数组的那个区间?

查看:549
本文介绍了javascript - js 如何判断一个数字在一个数字数组的那个区间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我要做的是一个微信audio播放器音频字幕随时间高亮的效果。
假如(一个完整的音频包含这些):
我是一名前端新司机 5秒
我是一匹来自西北的狼 10秒
我很开心看到大家 7秒
XXXXXXXXXXX 13秒

一个完整的音频包含这些句子(时长:5+10+7+13),后端已把这些数据整理返回到前端。
[5,10,7,13]

在音频播放过程中我通过currentTime获取他的当前秒,(这个播放器是可以通过进度条调整的)


setInterval(function() {
   audio.currentTime
}, 50);

假如是一个23,我如何通过后端传来的[5,10,7,13],比较是那个区间?
如果获取到这个区间我在通过添加类名让他高亮了,就是卡到这了,请各位前辈指点迷经。

<p>我是一名前端新司机</p>
<p>我是一匹来自西北的狼</p>
<p class="red">我很开心看到大家</p>
<p>XXXXXXXXXXX</p>

解决方案

就现在这个问题,

function a(arr,num){
        var i= 0,sum=0,len=arr.length;
        if(!(len>0)){
            return;
        }
        //如果 num 的值超过了 数组之和,不在考虑范围之类
        for(i;i<len;i++){
            sum+=arr[i];
            if(sum>=num){
                console.log('需要的值i='+i);
                return;
            }
        }
    }
    a([5,10,7,13],23);

这篇关于javascript - js 如何判断一个数字在一个数字数组的那个区间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆