有没有办法让两个元素从数组中选择随机项目但不会是同一个项目 - Javascript
Posted
技术标签:
【中文标题】有没有办法让两个元素从数组中选择随机项目但不会是同一个项目 - Javascript【英文标题】:is there a way to make two elements pick random items from a array but won't be the same item - Javascript 【发布时间】:2020-11-30 08:34:19 【问题描述】:我创建了一个函数,其中两个不同的元素(randomColor1 和 randomColor2)从数组中选择一种颜色。但问题有时是两个元素(randomColor1 和 randomColor2)都选择了相同的颜色。
两个元素的值相同。
这是我的代码。你能告诉我纠正这个问题的确切代码是什么。 我希望两个元素彼此选择不同的颜色。我是 javascript 新手。
function GetValue()
var myarray = new Array("#ff0000", "#ffe100", "#95ff00", "#2c8d94","#911961");
var randomColor1 = myarray[Math.floor(Math.random() * myarray.length)];
var randomColor2 = myarray[Math.floor(Math.random() * myarray.length)];
document.getElementById("message").innerhtml = randomColor1 + randomColor2;
【问题讨论】:
您可以在将颜色分配给随机变量时从数组中删除它们。 随机播放并弹出 @epascarello - 我得到了“流行音乐”,但为什么要随机播放? @RobMoll 你怎么随机化它? @epascarello 这不是myarray[Math.floor(Math.random() * myarray.length)]
在做什么吗?
【参考方案1】:
只需从数组中删除您要取出的元素,以确保您不会再次选择相同的元素:
var randomColor1 = myarray.splice(Math.floor(Math.random() * myarray.length), 1)[0];
var randomColor2 = myarray.splice(Math.floor(Math.random() * myarray.length), 1)[0];
【讨论】:
以上是关于有没有办法让两个元素从数组中选择随机项目但不会是同一个项目 - Javascript的主要内容,如果未能解决你的问题,请参考以下文章