JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr>
<td>Input:</td>
<td> </td>
<td id="inputVal"></td>
</tr>
<tr>
<td>Output (w/ String):</td>
<td></td>
<td id="outputVal_A"></td>
</tr>
<tr>
<td>Output (w/ Integer):</td>
<td></td>
<td id="outputVal_B"></td>
</tr>
<tr>
<td>Alt. Output:</td>
<td></td>
<td id="altVal"></td>
</tr>
</table>
JavaScript
var rgb = [202, 186, 168];
function rgbToHex(r, g, b) {
return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
}
function _rgbToHex(r, g, b) {
return "#" + ((1 << 24) + ((+r) << 16) + ((+g) << 8) + (+b)).toString(16).slice(1);
}
// Display the original RGB values.
document.getElementById("inputVal").innerText = rgb.join(", ");
// Display rgbToHex output w/ string type arguments.
rgb = rgb.map(function(v) {
return String(v);
});
document.getElementById("outputVal_A").innerText = rgbToHex(rgb[0], rgb[1], rgb[2]);
// Display rgbToHex output w/ int type arguments.
rgb = rgb.map(function(v) {
return parseInt(v);
});
document.getElementById("outputVal_B").innerText = rgbToHex(rgb[0], rgb[1], rgb[2]);
// Display rgbToHex output using modified function // w/ mixed argument types.
document.getElementById("altVal").innerText = _rgbToHex(String(rgb[0]), parseInt(rgb[1]), rgb[2]);