在JavaScript中获取数字之间的数字步长

时间:2019-04-19 22:09:29

标签: javascript arrays numbers

我想要一个由26个数字组成的数组,从1开始,以42结尾。

我一直无法找到如何执行此操作(答案似乎是找到两个数字之间的整数,而不是指定的步数)。数字可以是浮点数。

理想情况下,我希望此功能可重用,例如:

numberRange(lower, upper, steps)

作为一个简单的例子,如果我这样做:

numberRange(2, 10, 5)

它将返回:[2, 4, 6, 8, 10]

2 个答案:

答案 0 :(得分:0)

完全可以确定除法是否有效:

function numberRange(upper, lower, steps) {
    return new Array(steps + 1).fill(undefined).map((v, idx) => (upper / steps) * (idx + 1));
}

答案 1 :(得分:0)

解决了!

function getRange(upper, lower, steps) {
  const difference = upper - lower
  const increment = difference / (steps - 1)
  return [lower, ...Array(steps - 2).fill('').map((_, index) => 
    lower + (increment * (index + 1))
  ), upper]
}