手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS 在指定数组中随机取出N个不重复的数据
JS 在指定数组中随机取出N个不重复的数据
摘要:复制代码代码如下://从一个给定的数组arr中,随机返回num个不重复项functiongetArrayItems(arr,num){//新...

复制代码 代码如下:

<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>

【JS 在指定数组中随机取出N个不重复的数据】相关文章:

JavaScript实现弹出模态窗体并接受传值的方法

收集整理的四个方向的滚动

经典的带阴影的可拖动的浮动层

JS获取时间的相关函数及时间戳与时间日期之间的转换

js实现一个链接打开两个链接地址的方法

JavaScript中指定函数名称的相关方法

JavaScript实现简单的数字倒计时

JS实现带缓冲效果打开、关闭、移动一个层的方法

在JS方法中返回多个值的方法汇总

jquery 构造函数在表单提交过程中修改数据

精品推荐
分类导航