如果我提供迭代编号,如何获取从一个数字到第二个数字的相同递增值的值?结果应包括开始值和结束值。
这是硬编码解决方案的示例
var first = 1;
var second = 1.4;
var times = 5;
var result = [1, 1.1, 1.2, 1.3, 1.4];
如何使用这些值获得类似的结果?
first = 1;
second = 1.66;
times = 5;
result = [1, ?, ?, ?, 1.66]
或者这个
first = 1;
second = 1.66;
times = 8;
result = [1, ?, ?, ?, ?, ?, ?, 1.66]
这里是Codepen我试过了,有没有用
最佳答案
result = Array.from({ length: times }, (_, i) => first + (second - first) * i / (times - 1));
您可以创建一个包含 times
元素的数组,然后将每个槽设置为 first
和 second
之间的值。为此,会为所有插槽生成 0 到 1 之间的数字,然后公式执行:
// example for 2 times
first + (second - first) * 0 // = first
first + (second - first) * 1 // = second
关于javascript - 如何在提供迭代次数的同时获取两个数字之间的值范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53289407/