JSFiddle - React, Tailwind, and code Playground

by Felipe Alfaro

TypeScript

type RGBColor = [number, number, number];

const interpolateColors = (
	startRGB: RGBColor,
    finishRGB: RGBColor,
    steps: number
) => {
    const stepFactor = 1 / (steps - 1);
    const colorInterpolationArray: RGBColor[] = [];
        
    for (var i = 0; i < steps; i++) {
        const resultRGB: RGBColor = [startRGB[0], startRGB[1], startRGB[2]];
            
        for (var i = 0; i < resultRGB.length; i++) {
            resultRGB[i] = Math.round(resultRGB[i] + (stepFactor * i) * (finishRGB[i] - startRGB[i]));
        }

        colorInterpolationArray.push(resultRGB);
    }

    return colorInterpolationArray;
};

console.log('asd', interpolateColors([], [], 5))