在 2 个值之间递增一个数字并处理范围的限制

Increment a number between 2 values and also process the limit of the range

我怎样才能通过给定的步骤(例如 3)轻松地增加 2 个值(例如 0 和 10)之间的数字并处理范围的限制?所有数字都可以是整数或浮点数。我正在考虑使用增量为 3 的 for 循环,但是我不会得到值 10 :

for(i=0; i<=10; i=i+3){
  // Do something with i
}

循环内处理的数据:0,3,6,9,10

const start = 0;
const limit = 10;
const step = 3;
let i = start;

for (i = start; i <= limit; i+=step) {
    console.log(i);
}

if ( i !== limit) {
    console.log(limit);
}

您可以使用 Math.min 来限制上限。

const
    step = 2.7;

for (let i = 0, l = Math.ceil(10 / step); i <= l; i++) {
    const value = Math.min(i * step, 10);
    console.log(value);
}

function example(){
    let start = 0;
    let end = 13;
    let step = 3;
    let arr = [];
    for(i=start; i<=end; i=i+step){
        arr.push(i);
    }
    if(arr.indexOf(end) === -1)
        arr.push(end);

    console.log(arr.join());
}
example();

尝试在浏览器片段中执行此功能

这很好用,thx

const lower_limit = 1;
const upper_limit = 12;
const step = 3;

var range = upper_limit - lower_limit;

for (let i=0, l=Math.ceil(range/step); i<=l; i++) {
    const value = lower_limit + Math.min(i*step, range);
    console.log(value);
}