js如何随机生成1~20之间5组随机数?每一组由5个数组成。如“1 3 5 7 9”:“2 4 6 8 10”:“11 13 15 17 19”:“12 14 16 18 20”:其中不能有重复的
function getDifNum(num, min, max) { var res = []; for (var i = min; i <= max; i++) { var i = res.push(i); } res.sort(function () { return 0.5 - Math.random(); }); res.length = num; return res; } for (var i = 0; i < 5; i++) { alert(getDifNum(5, 1, 20).sort()); }这个会输出五组随机数,可是会重复
1~20的数字随机sort一次就行了,然后0~4,5~9,10~14,15~19划分取值下就行了,要不你重复获取基本要出现重复的了
function getDiffGroup(num, min, max) {
var res = [];
for (var i = min; i <= max; i++) res.push(i);
res.sort(function () { return 0.5 - Math.random(); });
var rst = [];
for (var i = 0; i < res.length; i += num) rst.push(res.slice(i, i + num));
return rst;
}
var rst = getDiffGroup(5, 1, 20);
console.log(rst.join('\n'))
function getDifNum(num, min, max) { var res = []; for (var i = min; i <= max; i++) { var i = res.push(i); } res.sort(function () { return 0.5 - Math.random(); }); res.length = num; return res; } for (var i = 0; i < 5; i++) { alert(getDifNum(5, 1, 20).sort()); }
这个会输出五组随机数,可是会重复