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