使用 JavaScript 为颜色计生成 #CCCCCC 和 #3B5998 之间颜色?
我们必须编写一个在两个给定颜色之间生成随机颜色的函数。我们将分步解决此问题 -
首先 → 我们编写一个在两个给定数字之间生成随机数字的函数。
其次 → 对于随机颜色生成,我们将使用 0 到 15 的十进制刻度而不是十六进制刻度。
最后 → 我们循环遍历任何给定的颜色字符串并生成随机颜色。
示例
const randomBetween = (a, b) => { const max = Math.max(a, b); const min = Math.min(a, b); return Math.floor(Math.random() * (max - min) + min); }; const randomColor = (firstColor, secondColor) => { first = firstColor.toUpperCase().substring(1, secondColor.length); second = secondColor.toUpperCase().substring(1, firstColor.length); const scale = '0123456789ABCDEF'; let color = '#'; for(let i = 0; i < first.length && i < second.length; i++ ){ const random = randomBetween(scale.indexOf(first[i]), scale.indexOf(second[i])); color += scale[random]; }; return color; }; console.log(randomColor('#34324a', '#42342c')); console.log(randomColor('#f43250', '#12342c')); console.log(randomColor('#34324a', '#47942c')); console.log(randomColor('#ffffff', '#000000'));
以下是控制台中的可能输出 -
注意 - 这只是众多可能的输出之一,因为输出每次都是随机的。
输出
#33332A #C23328 #36822B #35102A
广告