在 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);
}
我怎样才能通过给定的步骤(例如 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);
}