js在指定数组中随机抽取n个非重复数据。
复制代码代码如下所示:/ /从一个给定的数组arr,随机返回num不重复项
功能getarrayitems(ARR,努姆){
一个新数组,用于操作的传入数组,而不是直接操作传入数组;
无功temp_array =新的数组();
对于(ARR指标VaR){
temp_array.push(ARR {指数});
}
移除并存储在这个数组中的数字项
无功return_array =新的数组();
对于(var i = 0;i <数字;i + +){
如果可以删除数组并判断元素,以防止越界。
如果(temp_array。长> 0){
在数组中生成随机索引
无功arrindex = math.floor(Math.random()* temp_array。长度);
与随机的/索引值相对应的数组元素复制。
我return_array { } = { } temp_array arrindex;
然后删除该索引 / /数组元素,然后temp_array进入一个新的阵列
temp_array.splice(arrindex,1);
{人}
选择后的数组数据项,退出循环,如数组仅为10,但取出20。
打破;
}
}
返回return_array;
}
测试
无功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 };
警报(getarrayitems(arrlist,6));