php - 有一组大于等于12个的数据,具体个数不确定,要想每六分钟取12个展示,不够的时候要补位,大概思路是什么啊?求助!!!!!
黄舟
黄舟 2017-04-11 10:06:03
[PHP讨论组]

比如数组个数有15个,第一次取0-11,第二次取1-12,第三次取2-13,第四次取3-14,第五次取4-14,第五次取5-0(由于只有15个,从5开始取不到12个,所以要拿0这个来补位),以此类推,每六分钟取一次,求大概思路,

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
高洛峰

如果数据内容比较固定,可以先创建一个两倍大小的数组,比如你例子中就创建一个容量30的数组,把新数组的前15位和后15位都填上原数组的内容。
然后开始循环读取,
0 就读 0 - 11
1 就读 1 - 12
...
5 就读 5 - 16 (也就是原数组下标0这个元素的值)
6 就读 6 - 17
...
读到 15 时就退到 0 循环。

天蓬老师

首先我差点被你的问题给坑了,15个长度的数组,如果从0开始计数,那么最多下标到14,第5次4-15,15就已经越界了。

下面说下思路

已知的信息:

  1. 每次的初始下标

  2. 每次取的数量

    // arr 源数据,len 数组长度,initIndex 初始下标,num 每次获取的数量
    var arr = [0,1,2,3,4,5,6,7,8,9,10...], len = 15;
    var initIndex = 1, num = 12;
    var showArr = [];
    for (var i = initIndex; i < initIndex + num; i++) {
        showArr.push(arr[i%len]);
    }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号