JavaScript 开发中有时会遇到要将一个数组随机排序(shuffle)的需求,一个常见的写法是这样: function shuffle(arr) { arr.sort(function () { return Math.random() - 0.5; }); } 或者使用更简洁的 ES6 的写法: function shuffle(arr) { arr.sort(() => Math.random() - 0.5); } 我也曾经经常使用这种写法,不久前才意识到,这种写法是有问题的,它并不…
打乱随机数算法很多,不过看这个还挺简便的,记录下来. function shuffle(a) { var len = a.length; for(var i=0;i<len;i++){ var end = len - 1 ; var index = (Math.random()*(end + 1)) >> 0; var t = a[end]; a[end] = a[index]; a[index] = t; } return a; }; var arr = ["10"…
 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10 ]; var newA…
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shift() reverse() slice() sort() splice() 等. 1. concat()方法 数组和数组的 粘结: var a=[1,2,3,4]; var b=[5,6,7,8]; var c=a.concat(b); console.log(c); // [1,2,3,4,5,6…
昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害己,于是我又回答不知道.结果果然...我记错了0.0 还是自己总结测试一下比较靠谱,印象也比较深刻.欢迎大家提出相关意见或建议,提前谢谢哈~ 一.原生js方法 1.遍历数组 in(同时也是对象遍历属性的方法) var a = [1, 2, 3]; for (x in a) { console.log…
常用数组方法 一.不会改变原始数组的方法: 即访问方法,下面的这些方法绝对不会改变调用它们的对象的值,只会返回一个新的数组或者返回一个其它的期望值. 1. concat() ** 语法:** JavaScript,defaultvar new_array = old_array.concat(value1[, value2[, ...[, valueN]]]) 参数: valueN(可选) 将数组和/或值连接成新数组.如果省略了valueN参数参数,则concat会返回一个它所调用的已存在的数组…
常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前小时 i:当前分钟 s:当前秒数 strlen(字符串); 可以获取字符串长度strcmp(变量,字符串);可以比较两个值得大小strtolower(变量或字符串); 可以改小写strtoupper(变量或字符串): 可以改大写explode("",变量); 拆分字符串substr_rep…
ES6新增的常用数组方法 let arr = [1, 2, 3, 2, 1]; 一 forEach => 遍历数组 arr.forEach((v, i) => { console.log(v, i); }); 二 map => 使用一个数组, 利用某规则映射得到一个新数组 let mapArr = arr.map((v, i) => { return v * v; }); arr.map((v, i) => v * v); // 如果只有一句话, 可以省略大括号和return…
JavaScript数组方法有以下这些: forEach() 方法对数组的每一个元素执行一次提供的函数. map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变. filter() 方法使指定函数测试数组的每一个元素,并放回一个通过元素的新数组. some() 方法测试该数组有元素通过了指定函数的测试,如果有返回true,否则,返回false. every() 方法测试该数组是否全部通过指定函数测试,全部通过返回true,否则,返回false. Array.of() 方法创…
在数组的尾部增加或删除某个元素:push() 和 pop() push() : 在数组的尾部追加一个或多个元素,并返回数组的长度 pop():在数组的尾部删除一个元素,并返回被删除项 var arr = ["aaa","bbb","ccc"]; var pushRes = arr.push("ddd","eee"); console.log(pushRes); console.log(arr); conso…