Javascript 查找特定时间内两个值之间的值

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

假设我有两个值: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'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(值)这是惊人的优雅。