Как получить диапазон значений между двумя числами при предоставлении номера итерации? - PullRequest
0 голосов
/ 13 ноября 2018

Как я могу получить значения от одного числа до второго числа с одинаково увеличивающимися значениями, если я предоставлю номер итерации?Результат должен включать в себя как начальные, так и конечные значения.

Вот пример жестко запрограммированного решения

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 Я пытался, если он имеет какое-либо применение

1 Ответ

0 голосов
/ 14 ноября 2018
 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...