JavaScript中实现PHP的打乱数组函数shuffle实例
作者:bea
PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛。 请刷新页面查看随机排序效果。 代码如下: <script type="text/javascript"> //<![CDATA[ // 说明:为 Javascript 数组添加 shuffle 方法 var shuffle = function(v){
PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛。
请刷新页面查看随机排序效果。
代码如下:
<script type="text/javascript">
//<![CDATA[
// 说明:为 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(","), "<br />shuffle(A) = ", shuffle(a));
//]]>
</script>
输出结果:
代码如下:
A = 0,1,2,3,4,5,6,7,8,9
shuffle(A) = 1,5,0,9,2,3,6,8,4,7 A.shuffle() = 0,4,2,8,5,1,3,6,9,7
通过prototype 给数组添加一个方法:
代码如下:
<script type="text/javascript">
//<![CDATA[
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
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("A = ", a.join(","), "<br />A.shuffle() = ", a.shuffle());
//]]>
</script>
有用 | 无用
请刷新页面查看随机排序效果。
代码如下:
<script type="text/javascript">
//<![CDATA[
// 说明:为 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(","), "<br />shuffle(A) = ", shuffle(a));
//]]>
</script>
输出结果:
代码如下:
A = 0,1,2,3,4,5,6,7,8,9
shuffle(A) = 1,5,0,9,2,3,6,8,4,7 A.shuffle() = 0,4,2,8,5,1,3,6,9,7
通过prototype 给数组添加一个方法:
代码如下:
<script type="text/javascript">
//<![CDATA[
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
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("A = ", a.join(","), "<br />A.shuffle() = ", a.shuffle());
//]]>
</script>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 网站基于flash实现的Banner图切换效果代码
- jQuery 实现自动填充邮箱功能(带下拉提示)
- js网页右下角提示框实例
- 兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
- 从数据库读取数据后将其输出成html标签的三种方法
- JavaScript使用循环和分割来替换和删除元素实例
- javascript实现分栏显示小技巧附图
- jquery引用方法时传递参数原理分析
- form.submit()不能提交表单的错误原因及解决方法
- js的touch事件的实际引用
- JQuery 使用attr方法实现下拉列表选中
- 5个JavaScript经典面试题
- Json实现异步请求提交评论无需跳转其他页面
- innerHTML动态添加html代码和脚本兼容多个浏览器
- ie8模式下click无反应点击option无反应的解决方法
- JS 获取鼠标左右键的键值方法
- jquery动态加载js/css文件方法(自写小函数)
- 打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
- JavaScript中实现最高效的数组乱序方法