Javascript 查找特定时间内两个值之间的值
假设我有两个值:600和470 我想做的是指定一组时间,比如0和100(如果25fps,则为4秒),然后获取每个“帧”的“tween”值Javascript 查找特定时间内两个值之间的值,javascript,arrays,math,range,Javascript,Arrays,Math,Range,假设我有两个值:600和470 我想做的是指定一组时间,比如0和100(如果25fps,则为4秒),然后获取每个“帧”的“tween”值 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
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;
var基数=600;
var目标=470;
var start=0;
var-end=100;
var值=[];
对于(变量i=开始;i<结束;i++){
//不知道从哪里开始这里的数学
//所以我会把它交给我,但很明显这是错的
var值=i;
值。推送(值);
}
//一旦完成,我希望:
//数值[0]==600;
//数值[99]==470;
如何实现这一点?计算增量(数组中每个项目之间),然后通过将每个I
映射到base+increment*I
,您可以一次创建数组:
const base=600;
常数目标=470;
常数开始=0;
常数端=100;
常量增量=(目标-基础)/(结束-开始-1);
const values=Array.from(
{length:end-start},
(u,i)=>基础+增量*i
);
console.log(值[0]);
console.log(值[99]);
console.log(值)代码>我对这个问题提出了一个简单的解决方案
增加了两个变量:
差别
比率
基准值减去额定差值,得到阶跃值
var基数=600;
var目标=470;
var start=0;
var-end=100;
var值=[];
var差异=基准目标;
对于(变量i=开始;i<结束;i++){
风险值比率=(i/(1月底));
var值=基准-(差异*比率);
值。推送(值);
}
//一旦完成,我希望:
//数值[0]==600;
//数值[99]==470;
console.log(值)代码>这是惊人的优雅。