扫码关注官方订阅号
比如数组个数有15个,第一次取0-11,第二次取1-12,第三次取2-13,第四次取3-14,第五次取4-14,第五次取5-0(由于只有15个,从5开始取不到12个,所以要拿0这个来补位),以此类推,每六分钟取一次,求大概思路,
人生最曼妙的风景,竟是内心的淡定与从容!
如果数据内容比较固定,可以先创建一个两倍大小的数组,比如你例子中就创建一个容量30的数组,把新数组的前15位和后15位都填上原数组的内容。然后开始循环读取,0 就读 0 - 111 就读 1 - 12...5 就读 5 - 16 (也就是原数组下标0这个元素的值)6 就读 6 - 17...读到 15 时就退到 0 循环。
首先我差点被你的问题给坑了,15个长度的数组,如果从0开始计数,那么最多下标到14,第5次4-15,15就已经越界了。
下面说下思路
已知的信息:
每次的初始下标
每次取的数量
// 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]); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果数据内容比较固定,可以先创建一个两倍大小的数组,比如你例子中就创建一个容量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就已经越界了。
下面说下思路
已知的信息:
每次的初始下标
每次取的数量