Hago un sitio donde el color del div se genera aleatoriamente en comparación con esta matriz:
let pastelColor = [ 'ffaacc','ffbbcc','ffcccc','ffddcc','ffeecc','ffffcc','ffaadd','ffbbdd','ffccdd','ffdddd','ffeedd','ffffdd', 'ffaaee','ffbbee','ffccee','ffddee','ffeeee','ffffee','ffaaff','ffbbff','ffccff','ffddff','ffeeff','ffffff', 'ccaaff','ccbbff','ccccff','ccddff','cceeff','ccffff','ccaaee','ccbbee','ccccee','ccddee','cceeee','ccffee', 'ccaadd','ccbbdd','ccccdd','ccdddd','cceedd','ccffdd','ccaacc','ccbbcc','cccccc','ccddcc','cceecc','ccffcc' ]Probé varios Algo con Case Switch pero la función ocupaba demasiado espacio, me preguntaba con curiosidad si un algo sería capaz de generar esta matriz.
Gracias de antemano a los que respondan
si un algo sería capaz de generar esta matriz?
Por supuesto. Si necesita esa matriz en ese orden exacto:
let pastelColor = Array.from("abcdef".repeat(8), (ch, i) => (([a,...r]) => a+a+ch+ch+r[~~(i/6)%4].repeat(2))(i<24 ? "fcdef" : "cfedc") ); console.log(pastelColor);Si no está realmente interesado en la matriz con códigos de color, sino solo en la generación de un color aleatorio a partir de ella, entonces:
let pick = str => str[Math.floor(Math.random() * str.length)].repeat(2); let pastelColor = pick("cf") + pick("abcdef") + pick("cdef"); console.log(pastelColor);Debe llenar la matriz con el color hexadecimal convertido con enteros generados aleatoriamente que van de 0 a 255 como este:
const getRandomInt = (min, max) => { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min) + min); } const getRandomColorUnit = () => { const color = getRandomInt(0, 256).toString(16); if (color.length < 2) return '0' + color; return color; }; const getRandomColor = () => `#${getRandomColorUnit()}${getRandomColorUnit()}${getRandomColorUnit()}`; const colors = new Array(100).fill(0).map(getRandomColor); console.log(colors);