扫码关注官方订阅号
用JavaScript生成“12345432123454321...”这种数据
以上是我表达的不清楚
用个例子说的更清楚一点:每隔1秒钟,打印一个数字,这个数字从最小值1开始加1递增,到最大值5的时候,再依次递减,减小到1的时候,再进行递增,这种循环
最终打印出来的结果就是类似于“123454321234543212...”这种无限下去的数据
闭关修行中......
// 在min和max之间循环 function count(min, max) { var i = min; var step = -1; setInterval(function(){ console.log(i); if(i == min || i == max) { step *= -1; } i += step; }, 1000) } count(1, 5); count(2, 15);
这样?
参考下~~
function launch(max,maxLoop){ maxLoop=maxLoop||1; max=max||10; var currentLoopTimes=-1,i= 1,step=-1,result=""; while(i<=max){ result=result+''+i; if(i===max||i===1){ step=step*-1; if(i===1){ currentLoopTimes++; } } if(currentLoopTimes===maxLoop){ break; } i=i+step; } return result; } console.log(launch(5,2));//输出12345432123454321
如果是按每按时间递增到某个数值后再递减到1,再递增这种循环要求的话
var numPlayer=(function(max, intervalMilliseconds){ var intervalTimer; max=max||10; intervalMilliseconds= intervalMilliseconds||1000; function start(callBack){ var currentLoopTimes=-1,i= 1,step=-1,result=""; intervalTimer =setInterval(function(){ result=result+''+i; if(i===max||i===1){ step=step*-1; if(i===1){ currentLoopTimes++; } } callBack&&callBack(result,i+''); i=i+step; }, intervalMilliseconds); } function stop(){ intervalTimer&&clearInterval(intervalTimer); } return { start:start, stop:stop } }(5)); numPlayer.start(function(fullyNumberStr,currentNumberStr){ console.log(fullyNumberStr); }); //测试在10秒后结束 setTimeout(function(){ numPlayer.stop(); },10000);
(function(n){ var i = 0, str = ''; while(i < n){ str += Math.abs(i % 4 + 1 - ~~(i / 4) % 2 * 6); i++; } return str; })(20); //输出 "12345432123454321234"
其实还有更直接的……
var n = 20, str = Array(n + 8).join(",").replace(/,{8}/g, "12345432").slice(0, n); //输出 "12345432123454321234"
居然修改问题了,表示懒得按照你的要求写完整的代码,如果你能看得懂这一段的代码的话,自己改一改就知道了
(function(n){ return Math.abs(n % 4 + 1 - ~~(n / 4) % 2 * 6); })(19); //输出 "4"
一个while里面套两个for。用来干嘛?
1+23454321+23454321……
PHP学习
技术支持
返回顶部
这样?
参考下~~
如果是按每按时间递增到某个数值后再递减到1,再递增这种循环要求的话
其实还有更直接的……
居然修改问题了,表示懒得按照你的要求写完整的代码,如果你能看得懂这一段的代码的话,自己改一改就知道了
一个while里面套两个for。
用来干嘛?
1+23454321+23454321……