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

2016-02-19 09:20 36 1 收藏

下面图老师小编要向大家介绍下用js实现随机返回数组的一个元素,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

代码如下:

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中定义一个数组,{ } 则定义一个对象

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

代码如下:

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 

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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(","), "brbrshuffle(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("brA.shuffle() = ", a.shuffle());
//]]
/script

来源:http://www.tulaoshi.com/n/20160219/1590418.html

延伸阅读
标签: Web开发
贴出来与大家共勉。 先看一段代码, script var objReg = /^[a-zA-Z]{1}(:){1}$/gi; alert(objReg.test("a:"));//返回true alert(objReg.test("a:"));//返回false /script 为什么第二个test会返回false?是不是觉得奇怪。 原因我解答如下: test实际上与exec方法的执行方法是一致的,只是返回值不一样。test返...
标签: Web开发
无标题文档 支付宝与六大代理签订协议刷卡积分可网上购物支付宝为网店保驾护航支付宝红包送来红地毯紧急天气预报"红色风暴"空降支付宝小红包背后大名堂Q88.net全面无缝接合支付宝电子支付规范走出第一步 使用专业版受鼓励从支付宝看电子商务的发展谁能与支付宝PK?国内第一家引入支付宝的网络图库正式开通新浪网:中关村在...
标签: Web开发
IFRAME border=0 style="text-align:center" marginWidth=0 marginHeight=0 src="1.htm" frameBorder=no width=200 scrolling=no height=200 style="border: 1px solid #CCCCCC" id="pic"/IFRAME a href="javascript:Page(-1)"上一页/aa href="javascript:Pa...
标签: Web开发
外国人写的一个class,这么一点小小的应用,除非有特殊需求,还没有必要模块化。 用asp产生一个随机数。 %  ''**************************************************************************  '' CLASS: cRandom  '' Calls randomize to seed the random number generat...
标签: Web开发
技术含量不高,主要是平时使用正则多了,在代码上调试太麻烦了,干脆做这个来试比较快~~~送给那些喜欢正则的朋友~~~ 做得头晕脑涨,实在找不出几个正则例子来给新手学习,所以现在俺里面的帮助文件里面也才三个例子而以! 由于本人的语言表达实在不怎么样,而以材料一个人制作麻烦,希望有热心人士提供经典的正则例子,最好附上详解,以便新手学习! ...

经验教程

394

收藏

9
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部