用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 相关文章推荐
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
探究react-native 源码的图片缓存问题
Aug 24 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
Node.js实现一个HTTP服务器的方法示例
May 13 Javascript
实现一个 Vue 吸顶锚点组件方法
Jul 10 Javascript
JavaScript cookie原理及使用实例
May 08 Javascript
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
深入探讨PHP中的内存管理问题
2011/08/31 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
vue 实现tab切换保持数据状态
2020/07/21 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
详解python播放音频的三种方法
2019/09/23 Python
Python进行统计建模
2020/08/10 Python
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
幼儿园中班教学反思
2014/02/10 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
个人委托书范本
2014/04/02 职场文书
运动会加油稿100字
2014/09/19 职场文书
基层工作经历证明
2015/06/19 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
如何使JavaScript休眠或等待
2021/04/27 Javascript
Java 多态分析
2022/04/26 Java/Android
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL