javascript随机取数问题

在js随机中,想要实现每隔5秒取一组5个数的数组,且第二次出现的值不能在第一次出现,第三次出现的值不能在第二次出现,以此类推,求助大家!!!!!
累似:
第一次出现:[1,3,6,9,11],(每组数据不能有重复的)
第二次出现:[2,5,7,8,10],(第二次不能与第一次有相同的)
第三次出现:[1,4,9,12,6],(第三次不能与第二次有相同的,与第一次可以有重复的)

蝴蝶刀刀
浏览 346回答 1
1回答

UYOU

生成随机数,判断是否在前一次的数组中出现,如果不是就push到新数组里。const generatorRandomArray = (function() {&nbsp; //用于保存前一次计算得到的数组&nbsp; let savedArray = [];&nbsp;&nbsp; //生成随机数的函数&nbsp; function generatorRandom(n) {&nbsp; &nbsp; return Math.ceil(Math.random() * n);&nbsp; }&nbsp; return function(n) {&nbsp; &nbsp; let newArray = [];&nbsp; &nbsp; for (let i = 0; i < 5; i++) {&nbsp; &nbsp; &nbsp; var num;&nbsp; &nbsp; &nbsp; while (true) {&nbsp; &nbsp; &nbsp; &nbsp; num = generatorRandom(n);&nbsp; &nbsp; &nbsp; &nbsp; //判断随机数是否在前一次数组中出现&nbsp; &nbsp; &nbsp; &nbsp; if (!savedArray.includes(num) && !newArray.includes(num)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; newArray.push(num);&nbsp; &nbsp; }&nbsp; &nbsp; savedArray = [...newArray];&nbsp; &nbsp; return newArray;&nbsp; };})();函数接受一个参数表示随机数的边界,比如generatorRandomArray(300)表示生成的随机数在1~300
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript