源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS 在指定数组中随机取出N个不重复的数据

  • 时间:2020-09-27 21:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS 在指定数组中随机取出N个不重复的数据
[u]复制代码[/u] 代码如下:
<script language="javascript"> //从一个给定的数组arr中,随机返回num个不重复项 function getArrayItems(arr, num) {     //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;     var temp_array = new Array();     for (var index in arr) {         temp_array.push(arr[index]);     }     //取出的数值项,保存在此数组     var return_array = new Array();     for (var i = 0; i<num; i++) {         //判断如果数组还有可以取出的元素,以防下标越界         if (temp_array.length>0) {             //在数组中产生一个随机索引             var arrIndex = Math.floor(Math.random()*temp_array.length);             //将此随机索引的对应的数组元素值复制出来             return_array[i] = temp_array[arrIndex];             //然后删掉此索引的数组元素,这时候temp_array变为新的数组             temp_array.splice(arrIndex, 1);         } else {             //数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项.             break;         }     }     return return_array; } //测试 var ArrList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]; alert(getArrayItems(ArrList,6)); </script>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部