javascript - 在特定时间段内查找两个值之间的值
问题描述
假设我有两个值:600 和 470
我想要做的是指定一组时间,比如说 0 和 100(如果 25fps,则为 4 秒),然后获取每个“帧”的“补间”值。
var base = 600;
var target = 470;
var start = 0;
var end = 100;
var values = [];
for (var i = start; i < end; i++) {
// not sure where to begin with the math here
// so i'll just asssign it to i, but obviously it's wrong
var value = i;
values.push(value);
}
// Once complete, id expect:
// values[0] === 600;
// values[99] === 470;
我怎样才能做到这一点?
解决方案
计算增量(在数组中的每个项目之间),然后您可以通过将每个映射i
到 来一次创建数组base + increment * i
:
const base = 600;
const target = 470;
const start = 0;
const end = 100;
const increment = (target - base) / (end - start - 1);
const values = Array.from(
{ length: end - start },
(_, i) => base + increment * i
);
console.log(values[0]);
console.log(values[99]);
console.log(values);
推荐阅读
- python - Pandas - 根据索引而不是索引替换值
- css - 如何防止我的网站中出现这种负面空白?
- spring - 使用 Spring JPA 规范和分页的不同列选择给出 InvalidDataAccessApiUsageException
- r - 如何为 Shiny 应用的不同用户创建不同的仪表板?(在相同的应用程序代码上)
- python - 如何使用正则表达式在字符串之间提取一个数字
- java - 如何修复此代码?将字符串从方法传递到 MainActivity
- flutter - 颤振范围模型不更新所有后代“
- html - 如何从同一行更改元素的位置
- c++ - 包含库时无法在 VS Code 中使用 GDB 调试 C++ 文件
- python - 在 MicroPython 中检查线程是否已启动