我需要一个函数来根据范围为min: #000000
和max: #FFFFFF
的字符串生成CSS颜色。如果输入字符串中的长度或任何字符发生更改,则该函数应返回不同的颜色(但必须始终在同一字符串输入上返回相同的颜色)。
例如:
f("Reddit") ==>#FF0000
f("Smith") ==>#FFC0CB
f("Smixh")==>#F008FF
f("Smith") ==>#FFC0CB
f("foo")==>#FF00FF
f("Reddit") ==>#FF0000
等等。知道怎么做吗?
答案 0 :(得分:14)
我hash the string并使用十六进制校验和的前六个字符作为十六进制颜色代码:
function color(string) {
return '#' + md5(string).slice(0, 6);
}