@antv/f2
Version:
Charts for mobile visualization.
26 lines • 723 B
JavaScript
import { interpolateObject } from '../../../deps/d3-interpolate/src';
function interpolateObjectArray(a, b) {
var na = a ? a.length : 0;
var nb = b ? b.length : 0;
var maxLen = Math.max(nb, na);
var c = new Array(maxLen);
var x = new Array(maxLen);
var i;
// 将a、b长度补齐后再进行插值计算
for (i = 0; i < maxLen; i++) {
var ia = i < na ? (a || [])[i] : (a || [])[na - 1];
var ib = i < nb ? (b || [])[i] : (b || [])[nb - 1];
x[i] = interpolateObject(ia, ib);
}
return function (t) {
// 清除补间的多余点
if (t >= 1) {
return b;
}
for (i = 0; i < maxLen; ++i) {
c[i] = x[i](t);
}
return c;
};
}
export default interpolateObjectArray;