开发者问题收集

如何从数组中获取随机值?

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