javascript 数组相关的一些 自定义函数

* php shuffle 打乱数组顺序

Array.prototype.shuffle = function () {
    "use strict";
    var a = [], b = [], n = this.length, i, j, seq;
    // @b: a[i] element exists?
    for (i = 0; i < n; i++) {
        b[i] = 0;
    }

    function _getIndex(b, seq) {
        var n = b.length;
        for (i = 0; ; i = (i+1)%n) {
            if (!b[i]) {
                if (seq===0) {
                    break;
                }
                seq--;
            }
        }
        return i;
    }

    while (n-->0) {
        seq = Math.floor(3*this.length * Math.random());
        j = _getIndex(b, seq);
        a.push(this[j]);
        b[j] = 1;
    }

    return a;
};

  

test:

// var aa = [‘DevTools‘, ‘PHP‘, ‘PHP_Framework‘, ‘EclipsePDT‘, ‘Laravel‘, ‘PHPStorm‘, ‘ThinkPHP5‘];
var aa = [0,1,2,3,4,5,6,7,8,9];
var n = 1000;

if (typeof window === "undefined") {
    while (n--) {console.log(aa.shuffle());}
} else {
    while (n--) {document.write("<p>["+aa.shuffle().toString()+"]</p>");}
}

  

原文地址:https://www.cnblogs.com/mingzhanghui/p/9419495.html

时间: 2024-08-01 04:59:37

javascript 数组相关的一些 自定义函数的相关文章

javascript十个最常用的自定义函数

如果不使用类库或者没有自己的类库,储备一些常用函数总是有好处的. (10)addEvent 网上最流行的版本是Scott Andrew的,据说javascript界曾举行一场比赛(此事件我们可以在Pro Javascript Techniques第100页看到)或浏览PPK的网站,征求添加事件与移除事件的函数,他就是其获奖者.下面就是他的实现: function addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) {

javascript 数组扩展实现 php array_count_values() 函数功能

在PHP中,array_count_values() 这个函数可以统计数组元素出现的次数,这个函数会返回一个数组,键名是原数组的值,键值是这个值出现的次数. 但是JavaScript中没有这样的函数.不过大神无数,前些日子发现这样的一个扩展: /** javascript 数组扩展实现 php array_count_values() 函数功能 */ (function(window){ if ( window.ActiveXObject ) { window.Array.prototype.i

JavaScript数组的某些操作(一)

在软件开发的过程中JavaScript的编程在所难免,其中对数组的操作尤为常见,这里介绍一下和JavaScript数组相关的某些操作: 1.删除并返回数组的第一个元素--shift方法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns=&quo

JavaScript——数组&amp;函数

本章的内容 本章的总体思路,围绕着数组展开. 数组Arry 一.数组是是?它有几种创建方式? 1.数组是什么? 数组是一组相关的数据集合.可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素.数组是一种将一组数据存储在单个变量名下的方式. 2.数组的创建方式 一共有两种方式.new一个,还有一种是字面量的方式. new一个, var 数组名 = new Array() : var arr = new Arr

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

javascript 数组的常用操作函数

join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组. reverse() Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组. sort() sort() 方法将数组中的元素排序并返回排序后的数组.s

PHP移动互联网开发笔记(4)——自定义函数及数组

原文地址:http://www.php100.com/html/php/rumen/2014/0326/6705.html 一.自定义函数 自定义函数就是我们自己定义的函数,在PHP中自定义函数格式如下: function funname(arg1, arg2, arg3......){ //TODO return values; } view source print? 01.<?php  02.function fun($m, $n){  03.if($m==0 || $n==0){  04

php与数组相关的各类函数的使用

定义二维数组 $a[][]=20;//二维数组 $c=array(20,30,[10,80]); echo '<pre>'; print_r($c); sort()升序  rsort()降序 $a=[10,50,1,2,5,80,40,58,33,22]; echo '<pre>'; print_r($a); sort($a); echo '<pre>'; print_r($a); asort()升序保留索引位置   asort()降序保留索引位置 $a=[10,50,

VBA 定义能返回数组公式的自定义函数

返回一个变量大小结果数组的方法 此方法返回基于一个参数范围的值的数组.结果数组的大小具体取决于参数数组中的元素数量波动.例如对于假定您要创建一个范围中的每个值乘以 100 的函数.下面的自定义函数接受作为其参数的数组 (某一范围的值): Function Multiply_Range(myrange As Object) As Variant Dim temp As Variant Dim i As Integer, j As Integer temp = myrange.Value 'crea