使用 JavaScript 为色度计生成 #CCCCCC 和 #3B5998 之间的颜色?
javascriptweb developmentobject oriented programming更新于 2025/10/2 4:28:17
我们必须编写一个函数,在两个给定颜色之间生成随机颜色。让我们分部分解决这个问题 −
首先 → 我们编写一个函数,在两个给定数字之间生成随机数。
其次 → 我们不使用十六进制比例来随机生成颜色,而是将十六进制映射到 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
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

