【问题标题】:is there a way to make two elements pick random items from a array but won't be the same item - Javascript有没有办法让两个元素从数组中选择随机项目但不会是同一个项目 - 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)] 在做什么吗?

标签: javascript html jquery css arrays


【解决方案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];

【讨论】:

    猜你喜欢
    • 2017-11-10
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2011-02-28
    • 2011-02-23
    相关资源
    最近更新 更多