生成随机js随机生成hex色值

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

    之前做一随机取获色颜这一功能,都是单简的建创一个定固的色颜数组,然后用随机数掏出数组的值,这样就只是随机生成自己设定的值,不是真正意义上的随机生成,那要肿么生成?空话不多说,直接上码代。

function randoms(length,chars){
    var maxNum=chars.length-1;
    var hex='';
    var num=0;
    for(i=0;i<length;i++){
        num=rand(0,maxNum-1);
        hex+=chars.slice(num,num+1);  
    }
return hex;
}
function rand(minNum,maxNum){
    var choices=maxNum-minNum;
    var num=minMax+Math.round(Math.random()*choices)
    return paseInt(num);
}
    每日一道理
时间好比一条小溪,它能招引我们奔向生活的海洋;时间如同一叶扁舟,它将帮助我们驶向理想的彼岸;时间犹如一支画笔,它会指点我们描绘人生的画卷。
randoms(6,'0123456789ABCDEF');这样就可以随机生成6个字符,但hex色值是‘#123abc’这类格式的,所以得在6个字符前加上‘#’。

    var color="#"+randoms(6,'0123456789ABCDEF');

    -_-

    不知不觉就已1点多了,还是睡觉吧,不然会猝死。。。。。。。。。。。。。。。。。。。

文章结束给大家分享下程序员的一些笑话语录: 有一天,一个男人穿越森林的时候,听到一个细微的声音叫住他。他低头一看,是一只青蛙。
“如果你亲我一下,我会变成一个美丽的公主哦。”男人一言不发,把青蛙捡起来,放入口袋。
“如果你亲我一下,我会变成一个美丽的公主哦。而且,我会告诉我遇到的每一个人,你是多么聪明和勇敢,你是我的英雄。”男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一星期。”男人又把青蛙拿出来,对着它微微一笑,把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一年,而且你可以对我做任何事。”再一次,男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
  最后,青蛙无力地问:“我开出了这么好的条件,为什么你还不肯吻我?”男人说:“我是一个程序员,我可没时间和什么公主鬼混。不过,拥有一个会说话的青蛙,倒是蛮酷的。”


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要生成一个随机颜色数组,并排除黄色系以及相近色,你可以使用以下代码: ```javascript function generateRandomColor() { var letters = "0123456789ABCDEF"; var color = "#"; // 生成一个随机颜色 for (var i = 0; i < 6; i++) { var randomIndex = Math.floor(Math.random() * letters.length); color += letters[randomIndex]; } return color; } function isSimilarColor(color1, color2, threshold) { // 将颜色转换为RGB值 var rgb1 = hexToRgb(color1); var rgb2 = hexToRgb(color2); // 计算颜色之间的差异 var diff = Math.sqrt( Math.pow(rgb2.r - rgb1.r, 2) + Math.pow(rgb2.g - rgb1.g, 2) + Math.pow(rgb2.b - rgb1.b, 2) ); // 如果差异小于阈值,则认为颜色相近 return diff < threshold; } function generateUniqueColorArray(length, excludeColor, threshold) { var colorArray = []; while (colorArray.length < length) { var randomColor = generateRandomColor(); // 检查生成的颜色是否为黄色系或与已有颜色相近,如果是则重新生成 if (!randomColor.includes("FF") && !isSimilarToExistingColors(randomColor, colorArray, threshold)) { colorArray.push(randomColor); } } return colorArray; } function isSimilarToExistingColors(color, colorArray, threshold) { for (var i = 0; i < colorArray.length; i++) { if (isSimilarColor(color, colorArray[i], threshold)) { return true; } } return false; } // 将十六进制颜色转换为RGB值 function hexToRgb(hex) { var bigint = parseInt(hex.slice(1), 16); var r = (bigint >> 16) & 255; var g = (bigint >> 8) & 255; var b = bigint & 255; return { r: r, g: g, b: b }; } // 调用函数生成排除黄色系和相近色的随机颜色数组 var arrayLength = 5; // 数组长度 var excludeColor = "#

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值