使用javascript创建一系列数字增量,从四舍五入的数字开始,直到最接近的百

使用javascript创建一系列数字增量,从四舍五入的数字开始,直到最接近的百,javascript,jquery,Javascript,Jquery,目标是生成一个序列,从我输入的第一个数字开始,将其四舍五入到第一个上百(例如,如果数字=456,则序列中的第一个数字将为500),然后以200乘以200递增,直到我给出一个数字,例如2000 例如,如果我得到的数字是758,如果我将limit_number设置为2000,那么我需要使用javascript生成以下序列并将其添加到代码段中: $('img').attr('data-stoppoints', '800,1000,1200, 1400, 1600,1800, 2000'); 正如您所

目标是生成一个序列,从我输入的第一个数字开始,将其四舍五入到第一个上百(例如,如果数字=456,则序列中的第一个数字将为500),然后以200乘以200递增,直到我给出一个数字,例如2000

例如,如果我得到的数字是758,如果我将limit_number设置为2000,那么我需要使用javascript生成以下序列并将其添加到代码段中:

$('img').attr('data-stoppoints', '800,1000,1200, 1400, 1600,1800, 2000');
正如您所见,生成的数字系列需要用逗号分隔

到目前为止,我的代码是

var number = (screen.Width)
var rounded_number=Math.ceil(number/100)*100
$('img').attr('data-stoppoints', rounded_number,'<I don't know here what to write');
var number=(屏幕宽度)
变量四舍五入数值=数学单元(数值/100)*100

$('img').attr('data-stoppoints',rounded_number',您可以使用生成值数组(范围)的辅助函数:

功能范围(启动、停止、步骤=1、循环至=1){
结果=[];
对于(变量i=Math.ceil(开始/结束)*结束;i

尝试将此函数作为
generateSeries(number)
调用,您在其中写入了
舍入的\u number
,如下所示:

var number = (screen.Width)
$('img').attr('data-stoppoints',generateSeries(number));
generateSeries
函数。(您需要将此代码段添加到JS中。根据需要调整变量
limit
increment
):

generateSeries=函数(编号){
风险价值限额=2000;
var增量=200;
var除数=100;
var nums=[];
var n=数学单元(数/除数)*除数;

对于(;n为此创建一个单独的函数,将数字四舍五入,形成一个循环以填充数组,直到第二个数字,并使用逗号delimeter以字符串形式返回此数组。您可能会更喜欢,但为什么不直接循环并完全按照您描述的方式执行呢?当没有内置函数时,您必须编写枯燥的代码。这是一个极好的学习练习。研究h四舍五入数字..首先计算出该部分….简单的网络搜索。如果你得到答案,你将学到比自己动手做要少得多的东西。应该提到你已经计算出了四舍五入部分…然后在下一步中更具体地说明你遇到的问题。有很多方法可以构建重新填充所需的循环:“为了打破大家的努力。”丹尼斯,我会去加深我的JavaScript知识,你是对的,需要锻炼来理解:“马蒂厄,这不是真正的JavaScript,而是关于编程,关于如何潜入一个问题,而不是只是盯着它。丹尼斯我习惯于潜水……我正处于3天潜水的中间:)这个细节帮助我继续潜水……完全同意你的观点,你必须把手弄脏,真正地分析东西
generateSeries = function(number) {
    var limit = 2000;
    var increment = 200;
    var divisor = 100;

    var nums = [];
    var n = Math.ceil(number/divisor)*divisor;
    for(;n<=limit;n=n+increment) {
        nums.push(n);
    }
    return nums.join();
};