gpt4 book ai didi

javascript - 在javascript中按数字随机化颜色

转载 作者:行者123 更新时间:2023-11-28 13:11:42 26 4
gpt4 key购买 nike

我想在javascript中通过给定的id(可以是从0开始的任何数字)随机化颜色。例如:

//number is the id I want to give the function
function getRandomColor(number) {
var letters = '0123456789ABCDEF';
var color = '#';
var generatedNumber = Math.floor(Math.random() * 16);
var otherNumber = //something to unite generatedNumber and number(the given id) in a valid number
for (var i = 0; i < 6; i++ ) {
color += letters[otherNumber];
}
return color;
}

我该怎么做?

最佳答案

您需要将随机部分移动到 for 循环内。

function getRandomColor(number) {
var letters = '0123456789ABCDEF',
color = '#',
generatedNumber,
i;
for (i = 0; i < 6; i++) {
generatedNumber = Math.floor(Math.random() * 16);
color += letters[generatedNumber];
}
return color;
}

console.log(getRandomColor());

您可以省略包含数字和字母的字符串,并使用基数为 16 的 toString

要为相同的 id 保持相同的颜色,您可以使用一个对象来保持颜色。

function getRandomColor() {
var color = '#',
i;
for (i = 0; i < 6; i++) {
color += Math.floor(Math.random() * 16).toString(16);
}
return color;
}

var getColor = function() {
var colors = {};
return function (id) {
return colors[id] = colors[id] || getRandomColor();
};
}();


console.log(getColor('foo'));
console.log(getColor('bar'));
console.log(getColor('baz'));
console.log(getColor('foo'));
console.log(getColor('baz'));

关于javascript - 在javascript中按数字随机化颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com