千秋此意
之前有个和你这个类似的问题,我写了个函数丢你这可以直接用,你看看吧/**
* 获取m-n以内不重复的len个整数,存入数组并返回
* @param {Number} m 生成随机数最小值 (randNum >= m)
* @param {Number} n 生成随机数最大值 (randNum <= n)
* @param {Number} len 预期返回数组的length
* @return {Object} 返回数组对象
*/
function getRandNum(m, n, len) {
var tempArr = [],
randNum;
while (tempArr.length
randNum = Math.round(Math.random() * (n - m) + m);
tempArr.indexOf(randNum) === -1 && tempArr.push(randNum);
}
return tempArr;
}
// 以下为了方便测试限定了获取1到7的7个随机数
var result = getRandNum(1, 7, 7);
// 为了测试更加直观所以对输出结果从小到大排序
console.log(result.sort(function(a, b) {
return a - b;
})); // => [ 1, 2, 3, 4, 5, 6, 7 ]