用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 相关文章推荐
javascript得到XML某节点的子节点个数的脚本
Oct 11 Javascript
jquery 学习之二 属性(html()与html(val))
Nov 25 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 Javascript
Bootstrap整体框架之CSS12栅格系统
Dec 15 Javascript
微信小程序自动客服功能
Nov 02 Javascript
React之PureComponent的使用作用
Jul 10 Javascript
Node.js 进程平滑离场剖析小结
Jan 24 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
浅谈react路由传参的几种方式
Mar 23 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
php随机输出名人名言的代码
2012/10/07 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
php session的应用详细介绍
2017/03/22 PHP
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Python os.access()用法实例
2019/02/18 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python打造爬虫代理池过程解析
2019/08/15 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
关于期中考试的反思
2014/02/02 职场文书
学历公证书范本
2014/04/09 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
合作意向书
2014/07/30 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
数学教师个人工作总结
2015/02/06 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
二十年同学聚会感言
2015/07/30 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书