用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 相关文章推荐
清除网页历史记录,屏蔽后退按钮!
Dec 22 Javascript
一些常用的JS功能函数代码
Jun 23 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
May 14 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
Jan 24 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
vue.js实现插入数值与表达式的方法分析
Jul 06 Javascript
简单了解Javscript中兄弟ifream的方法调用
Jun 17 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 Javascript
vue组件创建的三种方式小结
Feb 03 Javascript
vue+Element-ui实现分页效果
Nov 15 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
德劲1104的电路分析与改良
2021/03/01 无线电
用cookies来跟踪识别用户
2006/10/09 PHP
PHP 高手之路(一)
2006/10/09 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
python中的tcp示例详解
2018/12/09 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python按比例随机切分数据的实现
2019/07/11 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
纬创Java面试题笔试题
2014/10/02 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
大学生党员承诺书
2014/05/20 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
学生检讨书怎么写
2015/05/07 职场文书
上诉状格式
2015/05/23 职场文书
小学语文教师研修日志
2015/11/13 职场文书