score:0

top section

 const interpolatearray = (data, fitcount) => {
  let newdata = [];
  let springfactor = number((data.length - 1) / (fitcount - 1));
  let linearinterpolate = (before, after, atpoint) => {
    return before + (after - before) * atpoint;
  };

  for (var i = 0; i < fitcount - 1; i++) {
    let tmp = i * springfactor;
    let before = number(math.floor(tmp)).tofixed();
    let after = number(math.ceil(tmp)).tofixed();
    let atpoint = tmp - before;
    newdata.push(linearinterpolate(data[before], data[after], atpoint));
  }
  
  // for new allocation
  newdata[fitcount - 1] = data[data.length - 1];
  
  return newdata;
};

let originalarry = [1, 5, 3];
let newarry = interpolatearray([1, 5, 3], 5);
let p1 = document.createelement('div');
let p2 = document.createelement('div');
document.body.appendchild(p1);
document.body.appendchild(p2);
p1.textcontent = 'original array : ' + json.stringify(originalarry);
p2.textcontent = 'after intrapolation( value = 5) : ' + json.stringify(newarry);

Related Query

More Query from same tag