用js实现随机返回数组的一个元素


Posted in Javascript onAugust 13, 2007
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var test = ["aa","bb","cc","dd","ee"]; 
document.write(test[Math.floor(Math.random()*test.length)]); 
setInterval("location.reload()",1000); 
//--> 
</SCRIPT>

这是个奇妙的方法。适合做标题性质文字的随机轮换显示。

有两种不同的方式实现:

一、随机取单个,二、让整个数组随机排序

注意:[ ] 符号在javascript中定义一个数组,{ } 则定义一个对象

随机取得数组里面的某一个:

<script type="text/javascript"> 
//随机取得数组中的一个 
var Arr = ["a","b","c","d"];  
var n = Math.floor(Math.random() * Arr.length + 1)-1;  
alert(Arr[n]);  
</script> 

随机排序整个数组Array:

<script type="text/javascript">  
//随机排序整个数组
var Arr1=[1,2,3,4,5,6,7,8,9,10,22,33,55,77,88,99];  
Arr1.sort(function(){return Math.random()>0.5?-1:1;});  
alert(Arr1);  
</script> 

==========================================

PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛。

<script type="text/javascript"> 
//<![CDATA[ 
var shuffle = function(v){ 
for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x); 
return v; 
}; 
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
document.write("A = ", a.join(","), "<br><br>shuffle(A) = ", shuffle(a)); 
if (!Array.prototype.shuffle) { 
Array.prototype.shuffle = function() { 
for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x); 
return this; 
}; 
} 
document.write("<br>A.shuffle() = ", a.shuffle()); 
//]]> 
</script>
Javascript 相关文章推荐
js类后台管理菜单类-MenuSwitch
Sep 12 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
Mar 31 Javascript
基于jQuery的表格操作插件
Apr 22 Javascript
JavaScript中获取元素索引的函数
Sep 10 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
js实现列表按字母排序
Aug 11 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 #Javascript
用JavaScript 处理 URL 的两个函数代码
Aug 13 #Javascript
增强的 JavaScript 的 trim 函数的代码
Aug 13 #Javascript
让回调函数 showResponse 也带上参数的代码
Aug 13 #Javascript
分析 JavaScript 中令人困惑的变量赋值
Aug 13 #Javascript
IE/FireFox具备兼容性的拖动代码
Aug 13 #Javascript
JavaScript 编程引入命名空间的方法与代码
Aug 13 #Javascript
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
咖啡知识大全
2021/03/03 新手入门
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
浅谈vue项目打包优化策略
2018/09/29 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
sort命令的作用和用法
2012/11/04 面试题
思想政治自我鉴定
2013/10/06 职场文书
师范毕业生个人求职信
2013/12/09 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
新员工入职感言
2014/02/01 职场文书
军训学生自我鉴定
2014/02/12 职场文书
中学生检讨书范文
2014/11/03 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang