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

tru*_*hit -1 javascript arrays

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

{
  min: 1000,
  max: 10000,
  interval: 1000
}
Run Code Online (Sandbox Code Playgroud)

在数组下方输出的正确函数是什么 -

[1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
Run Code Online (Sandbox Code Playgroud)

它可以通过 for 循环来完成 -

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

但我想看看是否有更简洁的方法来使用 Array.fill & map 来做到这一点 -

new Array((max - min + interval)).fill(undefined).map((_, i) => (i + min))
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

您可以通过将 max 和 min 之间的差异除以间隔来计算结果中应该有多少项,然后使用 来创建数组Array.from,使用映射器的索引来min计算为数组的每个值添加多少:

const min = 1000,
  max = 10000,
  interval = 1000;

const length = (max - min) / interval + 1;
const arr = Array.from({ length }, (_, i) => min + i * interval);
console.log(arr);
Run Code Online (Sandbox Code Playgroud)