)
}
}
)
(
}
{
)
)
(
)
(
(
{
}
)
(
)
}
)
)
{
(
(
)
)
}
)
(
}

### Step Between Two Numbers

1. `const stepBetweenA = (min, max, steps) => `
2. `  Array(steps).fill(0).reduce((prev, curr, i) => {`
3. `    prev.push(min + ((max - min) / (steps - 1)) * i)`
4. `    return prev`
5. `  }, [])`
6. ` `
7. ` `
8. `const stepBetweenB = (min, max, steps) => {`
9. `  steps -= 1`
10. `  const diff = (max - min) / steps`
11. `  const result = [min]`
12. `  for (let i = 0; i < steps; i++) {`
13. `    result.push(min += diff)`
14. `  }`
15. `  return result`
16. `}`
17. ` `
18. `console.log('a', stepBetweenA(10, 110, 4))`
19. `console.log('b', stepBetweenB(10, 110, 4))`
20. ` `
21. `const ITER = 10000`
22. ` `
23. `console.time('a')`
24. `for (let i = 0; i < ITER; i++) {`
25. `  stepBetweenA(10, 110, 4)`
26. `}`
27. `console.timeEnd('a')`
28. ` `
29. `  console.time('b')`
30. `for (let i = 0; i < ITER; i++) {`
31. `  stepBetweenB(10, 110, 4)`
32. `}`
33. `console.timeEnd('b')`

Two messy implementations for stepping between two numbers… I am not sure it’s possible to make `console.time` work well with the snippet zone quick editor – so if you want to see the times… open your console.

snippet.zone ~ 2021-23 /// {s/z}