Javascript 以2个值之间的间隔生成最大值和最小值之间的数字数组

Javascript 以2个值之间的间隔生成最大值和最小值之间的数字数组,javascript,arrays,Javascript,Arrays,我有以下数据结构,我需要创建一个匹配给定配置的数字数组- { min: 1000, max: 10000, interval: 1000 } 在数组下面输出的适当函数是什么- [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000] 它可以通过for循环完成- const output = []; for (let i = input.min; i <= input.max; i += input.inter

我有以下数据结构,我需要创建一个匹配给定配置的数字数组-

{
  min: 1000,
  max: 10000,
  interval: 1000
}
在数组下面输出的适当函数是什么-

[1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
它可以通过for循环完成-

const output = [];
for (let i = input.min; i <= input.max; i += input.interval) {
  output.push(i);
}
console.log(output)

您可以通过将最大值和最小值之间的差值除以间隔来计算结果中应包含多少项,然后使用
array创建数组。从
,使用映射器索引计算数组中每个值应向
min
添加多少项:

const min=1000,
最大值=10000,
间隔=1000;
常数长度=(最大-最小)/间隔+1;
const arr=Array.from({length},(u,i)=>min+i*间隔);

控制台日志(arr)
通过向上取整
(max-min)/interval
获得数组的长度。通过将当前索引(
i
)乘以
间隔
,获得每个步骤的值,并添加
min

const fn=({min,max,interval})=>
新数组(Math.ceil((max-min)/interval))//数组的长度是max、min和interval的函数
.填充(未定义)
.map((_,i)=>(i*间隔+min))//一个步骤是i和间隔+min的乘积
常数结果=fn({
最小:1000,
最高:10001,
间隔时间:1000
})

console.log(result)
您可以使用spread运算符生成所需的数组

const min=1000;
const max=10000;
常数间隔=1000;
常量ret=[…数组((最大-最小)/间隔+1)].map(
(u,i)=>min+间隔*i
);

控制台日志(ret)我不知道它是否更干净,但一个有趣的方法是使用生成器。其中一个例子来自

function*makeRangeIterator(开始=0,结束=100,步骤=1){

while(开始)你问了两次。为什么?@Andreas StackOverflow结束了另一个问题,让我把它弄清楚,再贴一次。这个看起来更干净。谢谢分享。
new Array((max - min + interval)).fill(undefined).map((_, i) => (i + min))