有没有办法让两个元素从数组中选择随机项目,但不会是同一项目-Javascript

问题描述

我创建了一个函数,其中两个不同的元素(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;
}

解决方法

只需删除要从数组中取出的元素,以确保不会再次选择相同的元素:

var randomColor1 = myarray.splice(Math.floor(Math.random() * myarray.length),1)[0];
var randomColor2 = myarray.splice(Math.floor(Math.random() * myarray.length),1)[0];