Javascript从数组中识别随机选择

时间:2018-08-24 14:01:06

标签: javascript arrays variables

我有一个数组,每次函数运行时,它会随机选择三种颜色之一。每次函数运行时,如何使Javascript将随机颜色选择识别为同一变量。

我不太确定从哪里开始,这就是我所拥有的:

var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];

function changeColor(){
 myDiv.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];
}

我是否需要在div中添加一个ID,然后执行以下操作:

var randomColor = document.getElementById('colorAtRandom');

1 个答案:

答案 0 :(得分:0)

您可以使用while语句检查所选的随机颜色是否与当前使用的颜色相同。正确后,您可以再次将颜色设置为随机颜色。直到选择了尚未使用的颜色,这种情况才会发生。

这应该有效。

var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];

function changeColor(){
  var randomColor = colors[Math.floor(Math.random() * colors.length)];
  while (myDiv.style.backgroundColor == randomColor) //if color is alredy being used
	  randomColor = colors[Math.floor(Math.random() * colors.length)]; // get a new color
	
  //if new color is found set color
  myDiv.style.backgroundColor = randomColor;
}