js 从一个给定的数组中,随机返回多个不重复项
来源:互联网 发布:天气预报 json 编辑:程序博客网 时间:2024/05/29 18:38
//从一个给定的数组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;
}
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;
}
参考:http://www.jb51.net/article/22567.htm
- js 从一个给定的数组中,随机返回多个不重复项
- Java中从一个数组中随机产生不重复的数
- 通过js从一个数组中随机的取出一个值
- java__给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度。
- 给定一个没有重复的已排序整数数组,返回其范围的摘要。
- 生产N个不重复的随机数(从一个数组中随机取N个元素)
- 在无重复数字的循环数组中查找给定数返回其下标
- 给定一个字符串,返回字符串中没有重复字符的最长子串的长度
- 给定一个数组,返回这个数组的所有子数组
- 生成一个不重复的随机数组
- 给定一个整数数组,返回数组中两个元素的和为target的索引
- 从指定的数组中,随机抽取一个数
- 从js数组中随机取值
- 给定一个经过一次旋转的有序数组,从中查找一个值,若存在返回它的索引,不存在返回-1,假定数组存在重复元素
- 从JS数组中获取不重复的值
- 给定一个数组,找出数组的峰值。返回其下标
- js实现生成一个指定长度为n且随机不重复的数组
- 产生一个int数组,随机向数组中插入1-100的随机数且不能重复
- Installshield2010实现web部署和数据库安装示例
- VC++程序员如何做好界面
- Cocos2d技巧之用户交互-触碰,按住和拖曳操作
- 通过Windows任务计划来定时重启Reader
- [android]使用shape来定义控件的一些显示属性
- js 从一个给定的数组中,随机返回多个不重复项
- JavaScript-禁止复制、粘贴
- Oracle,Mysql,DB2修改列比较
- 关于vino-server和vncserver的端口冲突问题
- retain 引用计数:两个所有者对同一个对象的管理
- xshell 连接linux
- sqlserver 分页的方法
- LeetCode Distinct Subsequences
- oracle job使用详解及job不运行的检查方法(1)