for (var i = 0; i < 3; i++) {
var rgb = Math.floor(Math.random() * 255 + 1);
var randomRGB = ("rgb"+"("+rgb+","+rgb+","+rgb+")");
console.log (randomRGB);
}
我将此作为输入:
rgb(165,165,165)
rgb(195,195,195)
rgb(231,231,231)
我想要的是这样:
rgb(165, 195, 231)
我做错了什么?
答案 0 :(得分:0)
var color = [];
for (var i = 0; i < 3; i++) {
var rand = Math.floor(Math.random() * 255 + 1);
color.push(rand);
}
var randomRGB = ("rgb"+"("+ color.join(",") +")");
console.log (randomRGB);
答案 1 :(得分:0)
XElement
如果要存储三个值,则需要三个变量。
答案 2 :(得分:0)
试试这个:
var r = Math.floor(Math.random() * 255 + 1);
var g = Math.floor(Math.random() * 255 + 1);
var b = Math.floor(Math.random() * 255 + 1);
var randomRGB = "rgb(" + r + "," + g + "," + b + ")";
console.log (randomRGB);
或者如果您确实想避免创建变量:
var randomRGB = "rgb(" + Math.floor(Math.random() * 255 + 1) + "," + Math.floor(Math.random() * 255 + 1) + "," + Math.floor(Math.random() * 255 + 1) + ")";
答案 3 :(得分:0)
您可以使用数组执行此操作:
for (var i = 0; i < 3; i++) {
var rgb = [];
for (var i = 0; i < 3; i++){
rgb.push(Math.floor(Math.random() * 255 + 1));
}
var randomRGB = ("rgb"+"("+ rgb.join(",") +")");
console.log (randomRGB);
}
这样你在技术上使用一个变量(一个整数值数组)来设置RGB值,它运行一个for循环来创建rgb数组(或者这可以在初始化时完成而不使用for循环,但是我觉得这看起来很整洁)。这也意味着每次运行外循环时都会重新初始化变量,因此在运行外循环的3倍时,你将得到不同的RGB。
答案 4 :(得分:-1)
你可以在没有循环语句的情况下完成,
var getRgb = () => Math.floor(Math.random() * 255 + 1);
var randomRGB = ("rgb"+"("+ getRgb() +","+ getRgb() + ","+ getRgb() +")");
console.log (randomRGB);
如果你想通过迭代来做,那就好了,
var getRgb = () => Math.floor(Math.random() * 255 + 1);
var randomRGB = "rgb(" + (["","",""].map(getRgb) + ")"
console.log (randomRGB);