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 相关文章推荐
jquery 实现的全选和反选
Apr 15 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
May 11 Javascript
jquery实现智能感知连接外网搜索
May 21 Javascript
解决JavaScript数字精度丢失问题的方法
Dec 03 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 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
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
php header示例代码(推荐)
2010/09/08 PHP
Linux编译升级php的详细方法
2013/11/04 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
js密码强度检测
2016/01/07 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
vue实现计算器功能
2020/02/22 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
Python制作简单的网页爬虫
2015/11/22 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
列车长先进事迹材料
2014/01/25 职场文书
企业整改报告范文
2014/11/08 职场文书
党建工作汇报材料
2014/12/24 职场文书
解除租赁合同协议书
2016/03/21 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript