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 Autocomplete自动完成插件
Jul 17 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
js分页工具实例
Jan 28 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
Aug 05 Javascript
jQuery多级联动下拉插件chained用法示例
Aug 20 Javascript
vue中遇到的坑之变化检测问题(数组相关)
Oct 13 Javascript
webpack-dev-server远程访问配置方法
Feb 22 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
Feb 18 Javascript
你知道JavaScript Symbol类型怎么用吗
Jan 08 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简单获取及判断提交来源的方法
2016/04/22 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
做网页的一些技巧
2007/02/01 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
python中的yield from语法快速学习
2020/11/06 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
局域网标准
2016/09/10 面试题
《胡杨》教学反思
2014/02/16 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
校园标语大全
2014/06/19 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
银行工作心得体会范文
2016/01/23 职场文书
python基础之类属性和实例属性
2021/10/24 Python
sql注入报错之注入原理实例解析
2022/06/10 MySQL