我有点卡在 JavaScript 逻辑上来完成这个任务。
基本上
如果我给出一个数字(比如 30)
我想在两边都显示 5。
所以
25 26 27 28 29 30 31 32 33 34 35
这部分很简单。
但是我需要处理数量低于 5(例如 3)的情况。
我想要的是,
对于右侧未显示的每个数字, 将其添加到左侧
所以
1 2 3 4 5 6 7 8 9 10 11
但是我需要处理数字高于(最大值 - 5)的情况(例如最大值 = 100,数字 = 98)。
我想要的是,
对于左侧未显示的每个数字, 添加到右侧
所以
90 91 92 93 94 95 96 97 98 99 100
但是我需要处理最大值低于 10 的情况(比如 number = 3,maximum = 8
我想要的是,
仅显示适用范围
所以
1 2 3 4 5 6 7 8
但我不确定逻辑
最佳答案
function ranger(num) {
//Establish limits and pre/post array storage
var low = 0, high = 100, howMany = 5;
var pre = [];
var post = [];
//Increment/decrement if appropriate
for(x=1;x<=howMany;x++) {
if((num-x) > low) { pre.push(num-x); }
if((num+x) < high) { post.push(num+x); }
}
pre.reverse();
alert("Before: "+pre+'\nNumber: '+num+'\nAfter: '+post)
}
ranger(7);
ranger(2);
ranger(96);
关于javascript 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223055/