如何从数组中获取随机值?
2017-04-11
81
这与这里的其他问题有点不同。我看过其他问题,但仍然无法解决问题。以下段落解释了两者的区别。
首先,这是代码。
var colors = ['#ffff00', '#FF009C'];
var random_color = colors[Math.floor(Math.random() * colors.length)];
for (var i = 0; i < document.querySelectorAll('#menu a').length; i++) {
document.querySelectorAll('#menu a')[i].style.color = random_color;}
<div id="menu">
<h1><a>Project 1<a></h1>
<h1><a>Project 2</a></h1>
<h1><a>Project 3</a></h1>
<h1><a>Project 4</a></h1>
</div>
我想做的是选择数组中的一个值作为“#menu a”的颜色。我不想在我写的值之间有一个值。只要 #ffff00 或 #ff009c 或我放入数组中的任何值即可。
编辑:谢谢大家!我刚刚意识到我的代码可以正常工作。很抱歉让大家解决我的问题,其实这不是问题。我的错。
3个回答
您的代码几乎正确。您只需将随机代码生成器代码移到循环内即可。
var colors = ['#ffff00', '#FF009C'];
for (var i = 0; i < document.querySelectorAll('#menu a').length; i++) {
var random_color = colors[Math.floor(Math.random() * colors.length)];
document.querySelectorAll('#menu a')[i].style.color = random_color;
}
Yogesh Mistry
2017-04-11
查看此 解决方案 ,了解如何在两个值之间获取随机数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
现在只需将最小值和最大值替换为 0 和 数组长度
var random_color = colors[getRandomInt(0, colors.length-1)];
gurvinder372
2017-04-11
使用: var颜色=颜色[Math.floor(Math.random() *(colors.length -lengtth -1))
Tal
2017-04-11