js随机生成颜色

//随机生成多个rgba的颜色值,如['11, 233, 184', '227, 118, 58']
function generateRandomColors(num) {
  var colors = []; // 存放生成的颜色数组
  for (var i = 0; i < num; i++) {
    var red = Math.floor(Math.random() * 256); // 红色分量范围为[0-255]
    var green = Math.floor(Math.random() * 256); // 绿色分量范围为[0-255]
    var blue = Math.floor(Math.random() * 256); // 蓝色分量范围为[0-255]
    var color = red + ", " + green + ", " + blue; // 将RGB值转换为字符串形式表示颜色
    if (!colors.includes(color)) {
      // 判断该颜色是否已经在数组中存在
      colors.push(color); // 如果没有重复则添加到数组中
    } else {
      i--; // 若发现了重复颜色,则需要再次生成新的颜色
    }
  }
  return colors;
}
//使用:
generateRandomColors(2)
//随机生成16进制的颜色值,如['#203098', '#12a075'] 
function generateRandomHexColor(num) {
  var colors = []; // 存放生成的颜色数组
  for (var i = 0; i < num; i++) {
    var hex = Math.floor(Math.random() * 16777216).toString(16);
    //生成ffffff以内16进制数
    while (hex.length < 6) {
      //while循环判断hex位数,少于6位前面加0凑够6位
      hex = "0" + hex;
    }
    var color = "#" + hex; // 将RGB值转换为字符串形式表示颜色
    if (!colors.includes(color)) {
      // 判断该颜色是否已经在数组中存在
      colors.push(color); // 如果没有重复则添加到数组中
    } else {
      i--; // 若发现了重复颜色,则需要再次生成新的颜色
    }
  }
  return colors;
}
//使用:
generateRandomHexColor(2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值