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

 更新时间:2014年10月11日 11:42:36   作者:Artlover   我要评论
这篇文章主要介绍了JavaScript中实现PHP的打乱数组函数shuffle实例,本文用2种方法实现了类似PHP的打乱数组函数shuffle函数,需要的朋友可以参考下

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>

相关文章

  • JavaScript数组去重的方法总结【12种方法,号称史上最全】

    JavaScript数组去重的方法总结【12种方法,号称史上最全】

    这篇文章主要介绍了JavaScript数组去重的方法,结合实例形式较为详细的总结分析了12种方法数组去重的方法,需要的朋友可以参考下
    2019-02-02
  • javascript实现平滑无缝滚动

    javascript实现平滑无缝滚动

    这篇文章主要为大家详细介绍了javascript实现平滑无缝滚动的具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • js由下向上不断上升冒气泡效果实例

    js由下向上不断上升冒气泡效果实例

    这篇文章主要介绍了js由下向上不断上升冒气泡效果,实例分析了javascript操作鼠标事件、图片及样式的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 微信公众号平台接口开发 菜单管理的实现

    微信公众号平台接口开发 菜单管理的实现

    这篇文章主要介绍了微信公众号平台接口开发 菜单管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • JS+CSS实现大气清新的滑动菜单效果代码

    JS+CSS实现大气清新的滑动菜单效果代码

    这篇文章主要介绍了JS+CSS实现大气清新的滑动菜单效果代码,通过鼠标事件结合定时函数实现页面元素动态变换的效果,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • javascript巧用eval函数组装表单输入项为json对象的方法

    javascript巧用eval函数组装表单输入项为json对象的方法

    这篇文章主要介绍了javascript巧用eval函数组装表单输入项为json对象的方法,实例分析了JavaScript使用eval函数动态构造json对象的相关技巧,需要的朋友可以参考下
    2015-11-11
  • js返回上一页并刷新代码整理

    js返回上一页并刷新代码整理

    返回上一页并刷新在此功能有利于用户的体验,是每一个web开发人员所必备的一项,长话短说,今天介绍实现此功能的一个方法,需要了解的朋友可以参考下
    2012-12-12
  • IE view-source 无法查看看源码 JavaScript看网页源码

    IE view-source 无法查看看源码 JavaScript看网页源码

    查看网页源代码的方法其实有好几种,最常用的我们就是在浏览器中直接选择“查看网页源代码”就可以了,但是在有些时候这种方法却不能见效,以下再介绍几种简单的方法供大家参考!
    2009-07-07
  • 在JavaScript中使用timer示例

    在JavaScript中使用timer示例

    这篇文章主要介绍了在JavaScript中如何使用timer,并给出各种测试case的例子,需要的朋友可以参考下
    2014-05-05
  • JS倒计时实例_天时分秒

    JS倒计时实例_天时分秒

    下面小编就为大家带来一篇JS倒计时实例_天时分秒。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论