function getRandRow(){ var arr=[]; for(var i=0;i<28;i++){ arr[i]=i; } var len=28; var r=0; for(var i=0;i<20;i++){ r=Math.floor(Math.random()*len);//随机索引 arr[len-1]=arr[len-1]+arr[r]; //随机索引与最大索引交换 arr[r]=arr[len-1]-arr[r]; arr[len-1]=arr[len-1]-arr[r]; len--; //最大索引自减 } return arr; } console.log(getRandRow());
运行结果: 为什么会出现这么多的0 ????
我的需求是 0-27 随机取出19个不重复的数 , 但是这段代码为什么会出现BUG??? 我快疯了
信者得救
慕瓜9220888
相关分类