cs.*_*ent 2 javascript arrays random
我观看了 codecademy 视频,但无法随机化我的颜色数组。颜色不是随机的。我不确定我做错了什么。
function getRandomColor() {
var color;
var colorArray = [
"#FF6633",
"#FFB399",
"#FF33FF",
"#FFFF99",
"#00B3E6",
"#E6B333",
"#3366E6",
"#999966",
"#809980",
"#E6FF80",
"#1AFF33",
"#999933",
"#FF3380",
"#CCCC00",
"#66E64D",
"#4D80CC",
"#FF4D4D",
"#99E6E6",
"#6666FF"
];
for (var i = 0; i < colorArray; i++) {
color = colorArray[Math.floor(Math.random() * colorArray.length)];
}
return color;
}
Run Code Online (Sandbox Code Playgroud)
我不知道你为什么需要for循环,但我很确定它是错误的。
在您的情况下,将不会执行循环,因为colorArray(在条件中)不是数字。您可能想colorArray.length改用,但在这种情况下循环也没有意义。
如果您只想选择一种颜色,您可以将整个循环(和return语句)替换为:
return colorArray[Math.floor(Math.random() * colorArray.length)];
Run Code Online (Sandbox Code Playgroud)
这只会返回一个随机颜色。
如果你想打乱整个数组,你可以使用以下循环:
for (var i = 0; i < colorArray.length; i++) {
let r=Math.floor(Math.random() * colorArray.length);
color = colorArray[r];
colorArray[r]=colorArray[i];
colorArray[i]=color;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
135 次 |
| 最近记录: |