javascript实现数组中的内容随机输出


Posted in Javascript onAugust 11, 2015

有时候我们可能需要从数组中随机抽出一项内容,下面就通过一段代码实例介绍一下如何实现此效果。

代码如下:

<script type="text/JavaScript"> 
var theArray=new Array();
theArray[0]="三水点靠木";
theArray[1]="三水点靠木一";
theArray[2]="三水点靠木二";
theArray[3]="三水点靠木三";
theArray[4]="三水点靠木四";
theArray[5]="三水点靠木五";
theArray[6]="三水点靠木六";
function ranFun()
{
 return parseInt(Math.random()*7);
}
document.write(theArray[ranFun()]);
</script>

以上代码可以随机输出数组中的元素,代码非常的简单,通过使用随机数函数为数组提供一个随机的索引即可。

从数组随机读取N条不同数据

方法一

var ary = new Array();
var xiaowu=new Array(
“1我的
“,
“2我的
“,
“3我的
“,
“4我的
“,
“5我的
“,
“6我的
“,
“7我的
“,
“8我的
“,
“9我的
“,
“10我的
“,
“11我的
“,
“12我的
“,
“13我的
“,
“14我的
“,
“15我的
“,
“16我的
“,
“17我的
“,
“18我的
“,
“19我的
“,
“20我的
”
);
var s01=xiaowu.length
while(ary.length < 6)
{
var tmp =xiaowu[parseInt(Math.random()*s01)]
var b = false;
for (var i=0; i<ary.length; i++)
{
if (ary[i] == tmp)
{
b = true;
break;
}
}
if (!b)
ary[ary.length] = tmp;
}
document.write(ary[0]);
document.write(ary[1]);
document.write(ary[2]);
document.write(ary[3]);
document.write(ary[4]);
document.write(ary[5]);

方法二

//从一个给定的数组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));

这段JS代码可以对数组内的元素进行随机排列,这个非常有用,比如我们在玩扑克牌的时候可以让扑克牌进行排列,也就是电脑洗牌。

Javascript 相关文章推荐
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
js 数组的for循环到底应该怎么写?
May 31 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 Javascript
js表单提交和submit提交的区别实例分析
Dec 10 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
Nov 14 Javascript
JavaScript实现鼠标经过表格某行时此行变色
Nov 20 Javascript
JavaScript中的LHS和RHS分析详情
Apr 06 Javascript
javascript弹出拖动窗口
Aug 11 #Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 #Javascript
javascript实现五星评价代码(源码下载)
Aug 11 #Javascript
jQuery的remove()方法使用详解
Aug 11 #Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 #Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 #Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 #Javascript
You might like
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
jQuery参数列表集合
2011/04/06 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
python聊天程序实例代码分享
2013/11/18 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python调用摄像头显示图像的实例
2018/08/03 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
python str字符串转uuid实例
2020/03/03 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
EntityManager都有哪些方法
2013/11/01 面试题
商场经理竞聘演讲稿
2014/01/01 职场文书
面试必备的求职信
2014/05/25 职场文书
故宫导游词
2015/01/31 职场文书
小学教师节活动总结
2015/03/20 职场文书
2015年父亲节寄语
2015/03/23 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
小学体育教学随笔
2015/08/14 职场文书
MySQL中utf8mb4排序规则示例
2021/08/02 MySQL