如何随机化而不替换条件? 示例一步一步

问题描述

我有许多嵌入的图像,我随机化了 4 次而没有替换(一旦看到图像,就再也看不到了)。我想添加一个条件,它表明无法看到一组附加图像(不仅是先前选择的图像)。这些是与所选图像具有相似特征的图像。

演示:

假设我有以下变量数组: BF1、BA1、BF2、BA2、BF3、BA3

我想在不替换的情况下从数组中随机抽取 3 个变量(图像),并且我希望也从下一个数组中删除具有数字 2(相同集合)的变量。因此,如果第一个绘制的 var 是 BF2,则下一个绘制将来自以下数组:

BF1、BA1、BF3、BA3(只能随机出现其中一个)

现在假设我绘制了 var BF1,所以下一组可能的 var 将是:

BF3、BA3。

我希望这是有道理的..这是我迄今为止没有替换的绘图代码:

function shuffle(array){
  var counter = array.length,temp,index;
  while (counter > 0){
  index = Math.floor(Math.random() * counter);
  counter = counter-1;
  temp = array[counter];
  array[counter] = array[index];
  array[index] = temp;
  }
  return array;


var myArray=[BF1,BA1,BF2,BA2,BF3,BA3,BA4,BF4,BA5,BF5,BF6,BA6,BF7,BA7,BA8,BF8,BA9,BF9,BF10,BA10,BA11,BF11,BA12,BF12,BA13,BF13,BA14,BF14,BA15,BF15,BA16,BF16,BA17,BF17,BA18,BF18,BA19,BF19,BA20,BF20,BA21,BF21,BF22,BA23,BF23,BA24,BF24,BA25,BF25,BA26,BF26,BA27,BF27,BA28,BF28,BA29,BF29,BA30,BF30,BA31,BF31,BA32,BF33,BA33,BA34,BF35,BA35,BA36,BF36];
    
    shuffle(myArray)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)