averageColor

used for job application

by Jared Meadows

HTML

<div id="console-log"></div>

JavaScript

var consoleLine = "<p class=\"console-line\"></p>";

console = {
    log: (text) => {
    		const myDiv = document.createElement('div');
        myDiv.innerHTML = text;
    		document.getElementById('console-log').append(myDiv);
        //$("#console-log").append($(consoleLine).html(text));
    }
};

//console.clear();
console.log('color 1: ' + "AAAAAA");
console.log('color 2: ' + "CCCCCC");
console.log("output: " + averageColor("AAAAAA", "CCCCCC"));
//console.log("output: ", averageColor("abcd", "dddd"));

//console.log("easy option: ", averageColor("444444", "000000"));
/**
 * take the average color between 2 colors and return the result
 * 
 * @param {string} color1
 * 	6 digit hexidecimal string representing 1st color to be averaged
 * @param {string} color2 
 * 	6 digit hexidecimal string representing 2nd color to be averaged
 */
function averageColor(color1, color2) {
	let tempColor;
  let retColor = '';
  for (var j=0;j<color1.length;j+=2) {
  	tempColor = Math.round((parseInt(color1.slice(j,j+2), 16) + parseInt(color2.slice(j,j+2), 16)) / 2,0);
    retColor += ("0"+tempColor.toString(16)).slice(-2); //add tuple onto return color (convert integer to hexidecimal, and add 0 padding)
  }
	return 	retColor;
}