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匿名函数的一种应用 代码封装
Jun 27 Javascript
js 浏览器事件介绍
Mar 30 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
Sep 12 Javascript
在Vue中使用echarts的方法
Feb 05 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
微信小程序云函数使用mysql数据库过程详解
Aug 07 Javascript
Vue单文件组件开发实现过程详解
Jul 30 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
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
微信小程序日历效果
2018/12/29 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
Python异常处理总结
2014/08/15 Python
Python中的异常处理简明介绍
2015/04/13 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python读写LMDB文件的方法
2018/07/02 Python
python中的句柄操作的方法示例
2019/06/20 Python
Python操作qml对象过程详解
2019/09/26 Python
学Python 3的理由和必要性
2019/11/19 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
详解Python流程控制语句
2020/10/28 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
高中自我评价分享
2013/12/05 职场文书
廉政教育心得体会
2014/01/01 职场文书
应聘护士求职信
2014/07/21 职场文书
化学工程专业求职信
2014/08/10 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
党员个人总结范文
2015/02/14 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
Python各协议下socket黏包问题原理
2022/04/12 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python