从数组中获取随机项而无需重复

时间:2019-08-24 09:52:40

标签: javascript arrays random unique

我看过其他有关此问题的文章,但这里的区别在于,我需要将新值存储在不同的变量中,并将其用作另一个数组的索引,以更改某些按钮的文本内容。

 //The 'value' in this case is an array that contains 4 strings.

 const randomNumber0 =  Math.floor(Math.random()*value.length)
 const randomNumber1 =  Math.floor(Math.random()*value.length)
 const randomNumber2 =  Math.floor(Math.random()*value.length)
 const randomNumber3 =  Math.floor(Math.random()*value.length)


 //Here the value is used to change all of the button's text content based 
 //on the randomly generated numbers from the above snippet 

 document.querySelector('#btn1').textContent = value[randomNumber0]
 document.querySelector('#btn2').textContent = value[randomNumber1]
 document.querySelector('#btn3').textContent = value[randomNumber2]
 document.querySelector('#btn4').textContent = value[randomNumber3]

这里的问题是按钮将获得重复的文本内容,因为上面的数字将重复大多数次。

我希望能够将'btn2'的索引值传递给另一个值,该值将从尚未为'btn1'选择的其他数字中随机化。

例如。我将使document.querySelector('#btn1').textContent = value[randomNumber0]保持不变,并假设randomNumber0生成数字1。

对于'btn2',我想使用value[randomNumber1],其中randomNumber1生成一个数字,该数字不包括randomNumber0选择的数字1。因此,结果应该是来自该数组的新随机数:[0, 2, 3]

我也希望能够重复执行“ btn3”和“ btn4”的过程。

在此先感谢您澄清此问题。

0 个答案:

没有答案