无重复随机化功能
No repeat randomizing function
函数
rnd_act_select() 在代码中进一步随机化四个函数,它由我设置的 Photoshop 中的一个按钮调用,一切正常,但我不知道如何设置随机化,直到所有情况都被执行。有人可以给我解决这个问题的方法吗?谢谢。
function rnd_act_select() {
// random selection
NumberOfFunctions = 4;//Number of functions in your switch statement.
var ran = Math.floor(Math.random() * NumberOfFunctions);
switch(ran) {
case 0: func_one(); break;
case 1: func_two(); break;
case 2: func_three(); break;
case 3: func_four(); break;
default : return;
}
};
我已经尝试过这种方式,但它不起作用:
function rnd_act_select() {
// random selection begin
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var arr = [func_one,func_two,func_three,func_four];
var shuf = shuffle(arr);
switch(shuf) {
case 0: func_one(); break;
case 1: func_two(); break;
case 2: func_three(); break;
case 3: func_four(); break;
default : return;
}
// random selection end
};
如果可能的话,请我需要一个明确的答案。谢谢
这应该很容易。为此,您需要记住以前使用过哪些功能。您的算法应如下所示:
- 创建一个数组 [0, 1, 2, 3]
- 洗牌。
- 根据随机顺序运行函数。
- 当随机排序的订单为空时,请重复步骤 1。
相关文章:
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 将键盘使用与 Qualtrics 中的答案随机化相结合
- 我怎样才能随机化 HTML 元素的颜色属性
- 通过AJAX调用PHP随机化器的输出
- 如何在JS中随机化backgroundPosition而不使用鼠标移动来制作万花筒的动画
- 使用Javascript对RGBA颜色进行光标控制的形状随机化
- 如何在一个随机化的有序列表中随机化多个无序列表
- 如何使用JavaScript随机化有序列表
- 使用JavaScript随机化html标记
- 可以'我的单词随机化器脚本不能正常循环
- 如果语句是假的 JavaScript,则再次随机化数字
- 函数随机化 - 我可以让它错过一个页面并且该页面上只有一个图像吗?可湿性粉剂
- 随机化网页上的图像和颜色对
- 随机侮辱生成器(随机化结果)
- Javascript:通过在while循环内推送/拼接来随机化数组
- 构建一个简单的随机化器,其中包括一个点、一个下划线、字母 A 和字母 B
- 随机化并在页面加载时显示给定数量的 if 元素
- jQuery Rotator是按字母顺序排列的,我怎样才能在我的主页上随机化
- 随机播放函数随机化字母
- 无重复随机化功能