JavaScript中实现PHP的打乱数组函数shuffle实例

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

请刷新页面查看随机排序效果

代码如下:
添加 shuffle 方法

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(","),"
shuffle(A) = ",shuffle(a));

//]]>

输出结果:

代码如下:

shuffle(A) = 1,9,7 A.shuffle() = 0,7

通过prototype 给数组添加一个方法

代码如下:
var a = [0,9];

if (!Array.prototype.shuffle) {
Array.prototype.shuffle = function() {
for(var j,i = this.length; i; j = parseInt(Math.random() * i),x = this[--i],this[i] = this[j],this[j] = x);
return this;
};
}

document.write("A = ","
A.shuffle() = ",a.shuffle());

//]]>

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...