underscorejs-shuffle学习
2016-02-02 18:48
691 查看
2.21 shuffle
2.21.1 语法
_.shuffle(list)2.21.2 说明
返回一个随机乱序的list副本数组, 使用 Fisher-Yates shuffle 来进行随机乱序.2.21.3 代码示例
示例一:将集合洗牌,返回数组
//数组 var arr = [1, 2, 3, 4, 5, 6]; console.log(_.shuffle(arr)); //may be => [2, 4, 5, 1, 6, 3] //字符串 console.log(_.shuffle('123456')); //may be => ["5", "1", "2", "6", "4", "3"] //对象返回的也是数组。 var obj = {a:1, b:2, c:3, d:4, e:5}; console.log(_.shuffle(obj)); //may be => [1, 3, 4, 2, 5] //arguments (function(){ console.log(_.shuffle(arguments)); //may be => [1, 3, 4, 5, 2] }(1, 2, 3, 4, 5))
示例二:返回的是新组数。
var arr1 = [1, 2, 3, 4, 5, 6]; var arr2 = _.shuffle(arr1); console.log(arr1); // [1, 2, 3, 4, 5, 6] console.log(arr2); //may be => [2, 4, 6, 1, 5, 3]
2.21.4 处理其他非集合,返回空数组
console.log(_.shuffle([])); //=> [] console.log(_.shuffle(1)); //=> [] console.log(_.shuffle(null)); //=> [] console.log(_.shuffle(undefined)); //=> [] console.log(_.shuffle(NaN)); //=> []
2.21.5 用_.sample来实现同样的功能
function shuffle(list){ return _.sample(list, list.length); } var list = [1, 2, 3, 4, 5, 6]; var arr1 = _.shuffle(list); var arr2 = shuffle(list); console.log(arr1); //may be => [1, 4, 5, 2, 6, 3] console.log(arr2); //may be => [6, 5, 1, 2, 3, 4]
相关文章推荐
- underscorejs-countBy学习
- underscorejs-indexBy学习
- JavaScript——call扩展函数作用域
- JS 绘制心形线
- 谷歌gson的JsonElement在getAsString时出现bug
- js常用几种类方法实现
- 利用ajaxfileupload.js异步上传文件
- Jsp与servlet的区别
- javascript笔记整理(正则)
- js cookies存取删操作实例
- javascript笔记整理(事件)
- JavaScript 基础工具清单:通用 前端 后端
- WEB小结(1)——使用js设置ip地址对话框
- 解析js中的键值对 及 数组的定义 及检测数组中是否有重复的数据
- JS单日的日历(上一天、下一天)
- js中拼装Html时 在onclick 中传值出现问题解决办法,及替换全部的方法
- JavaScript中的对象(二)——原型对象
- JavaScript+html5 canvas实现本地截图教程
- json数据
- JavaScript——this作用域问题