为了账号安全,请及时绑定邮箱和手机立即绑定

生成不重复随机数有没有性能更好的方法?

生成不重复随机数有没有性能更好的方法?

梵蒂冈之花 2018-10-16 17:18:13
const indRandom = (n, maxValue, minValue = 0) => {  const nNumArray = [...Array(maxValue + 1).keys()];  const resultArray = [];  for (let i = 0; i < n; i++) {    const randomNum = Math.floor((Math.random() * (((maxValue - minValue) + 1) - i)) + minValue);    resultArray.push(nNumArray[randomNum]);    nNumArray.splice(randomNum, 1);  }  console.log(resultArray);  return resultArray;};indRandom(5, 10000);
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

function indRandom(n, max){

  var arr = [];

  for(var i = 0; i < n; i++){

    var item = Math.floor(Math.random() * max);

    if(arr.indexOf(item) > -1){ i--; continue; }

    else arr.push(item);

  }

  return arr;

}


查看完整回答
反对 回复 2018-11-24
  • 1 回答
  • 0 关注
  • 560 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号