有一个二维数组,如何交叉(上下左右不相邻)取2或3个随机数?数组:var a = [
[0, 1],
[2, 3],
[4, 5],
[6, 7]
];这样写了一个,但是感觉很死板,取到的数不太平均而且代码写的有点臃肿,大神们有更好的方案吗?function select() { var a = [ [0, 1], [2, 3], [4, 5], [6, 7] ]; var lastSelect = -1; for (var i = 0; i < a.length; i++) { var index = getRandomNumber(lastSelect, a[i].length); console.log(a[i][index]); lastSelect = index; }}function getRandomNumber(lastSelect, max) { var random = Math.floor(Math.random() * max); if (random == lastSelect) return getRandomNumber(lastSelect, max); else return random;}select()
添加回答
举报
0/150
提交
取消