underscorejs-sample学习
2.22 sample
2.22.1 语法:
_.sample(list, [n])
2.22.2 说明:
从list中产生一个随机样本。传参n后返回n个随机元素,各元素不重复。
2.22.3 代码示例:
示例一:从list中随机产生一个样本
var sample;
//数组
sample = _.sample([1, 2, 3, 4, 5]);
console.log(sample); //may be => Number 3
//对象
sample = _.sample({a:1, b:2, c:3, d:4, e: 5});
console.log(sample); //may be => Number 2
//字符串
sample = _.sample('12345');
console.log(sample); //may be => String 5
//arguments
(function(){
sample = _.sample(arguments);
console.log(sample); //may be => Number 1
}(1, 2, 3, 4, 5));
示例二:传递参数n
var sample;
//数组
sample = _.sample([1, 2, 3, 4, 5], 3);
console.log(sample); //may be => [4, 2, 3]
//对象
sample = _.sample({a:1, b:2, c:3, d:4, e: 5}, 3);
console.log(sample); //may be => [1, 2, 4]
//字符串
sample = _.sample('12345', 3);
console.log(sample); //may be => ["5", "1", "4"]
//arguments
(function(){
sample = _.sample(arguments, 3);
console.log(sample); //may be => [3, 2, 4]
}(1, 2, 3, 4, 5));
传递n后,返回的是数组。
2.22.3 传递参数n的变化
var list = [1, 2, 3, 4, 5];
var sample;
sample = _.sample(list, -1);
console.log(sample); //=> []
sample = _.sample(list, 0);
console.log(sample); //=> []
//传1返回的也是数组
sample = _.sample(list, 1);
console.log(sample); //may be => [1]
sample = _.sample(list, 3);
console.log(sample); //may be => [1, 2, 4]
sample = _.sample(list, 5);
console.log(sample); //may be => [5, 3, 1, 2, 4]
sample = _.sample(list, 10);
console.log(sample); //may be => [2, 4, 5, 1, 3]
- 传递了参数n返回的都是数组
- n <= 0 返回空数组
- n > 0 && n < list.length 返回的数组长度为n
- n >= list.length返回的数组长度为list.length
2.22.4 产生的一个样本内,各元素不会重复
var list = [1, 2, 3, 4, 5];
var sample;
_(3).times(function(){
sample = _.sample(list, 5);
console.log(sample);
});
2.22.5 非集合情况都返回undefined
console.log(_.sample([])); //=> undefined
console.log(_.sample(1)); //=> undefined
console.log(_.sample(null)); //=> undefined
console.log(_.sample(undefined)); //=> undefined
console.log(_.sample(NaN)); //=> undefined
2.22.6 简单的random,元素的值可能重复
var list = ['a', 'b', 'c', 'd'];
var sample = [];
for(var i = 0; i < list.length; i++) {
var n = Math.floor(Math.random() * list.length);
sample.push(list[n]);
}
console.log(sample); //maybe => ["c", "d", "c", "a"]
underscorejs-sample学习的更多相关文章
- 不学就吃亏的underscorejs类库学习示例 ——(集合篇)
underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...
- ArcGIS AddIN Sample学习笔记
1.AddInEditorExtension 功能描述:编辑器扩展,实现在编辑要素,对编辑事件的监听,及对新创建的要素的处理 核心代码: void Events_OnStartEditing() { ...
- MEF(Managed Extensibility Framework)依赖注入学习
MSDN官方资料,并且微软还提供了SimpleCalculator sample学习样例 http://msdn.microsoft.com/en-us/library/dd460648(v=vs.1 ...
- Jupyter Notebook 的安装使用以及 tree 路径变更
由于最近开始学习 Python,进而接触到一个十分强大的交互式编辑器 — Jupyter Notebook,用起来也非常顺手,于是记录一下相关的使用过程. 一.安装 Python: ①首先前往 pyt ...
- box2dweb 学习笔记--sample讲解
前言: 之前博文"台球游戏的核心算法和AI(1)" 中, 提到过想用HTML5+Box2d来编写实现一个台球游戏. 以此来对比感慨一下游戏物理引擎的巨大威力. 做为H5+box2d ...
- Direct3D学习笔记 - 浅析HDR Lighting Sample
一.HDR简介 HDR(High Dynamic Range,高动态范围)是一种图像后处理技术,是一种表达超过了显示器所能表现的亮度范围的图像映射技术.高动态范围技术能够很好地再现现实生活中丰富的亮度 ...
- 从几个sample来学习JAVA堆、方法区、JAVA栈和本地方法栈
最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程,大部分的程序员在写程序时不会太关注Java运行时数据区域的结构: 感觉有 ...
- 从sample来学习Java堆(转)
1)Java堆 所有对象的实例分配都在Java堆上分配内存,堆大小由-Xmx和-Xms来调节,sample如下所示: public class HeapOOM { static class OOMOb ...
- 深度学习实践-强化学习-bird游戏 1.np.stack(表示进行拼接操作) 2.cv2.resize(进行图像的压缩操作) 3.cv2.cvtColor(进行图片颜色的转换) 4.cv2.threshold(进行图片的二值化操作) 5.random.sample(样本的随机抽取)
1. np.stack((x_t, x_t, x_t, x_t), axis=2) 将图片进行串接的操作,使得图片的维度为[80, 80, 4] 参数说明: (x_t, x_t, x_t, x_t) ...
- 深度学习原理与框架-Tensorflow卷积神经网络-cifar10图片分类(代码) 1.tf.nn.lrn(局部响应归一化操作) 2.random.sample(在列表中随机选值) 3.tf.one_hot(对标签进行one_hot编码)
1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数 ...
随机推荐
- 关于Marsedit和我的163博客
其实我一开始选择的并不是163的博客,感觉没什么新意,勾不起我的兴趣. 第一个我想写的是CSDN的博客,代码嘛,总要找个专业的网站来写,但是我发现了一个及其让我不爽的事情,我竟然在网页上无法新建一篇日 ...
- 京东集团副总裁李大学:像CEO一样思考 - Dancen的专栏 - 博客频道 - CSDN.NET
京东集团副总裁李大学:像CEO一样思考 - Dancen的专栏 - 博客频道 - CSDN.NET 京东集团副总裁李大学:像CEO一样思考
- 在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程)
在浏览器中简单输入一个网址,解密其后发生的一切(http请求的详细过程) 原文链接:http://www.360doc.com/content/14/1117/10/16948208_42571794 ...
- 20169210《Linux内核原理与分析》第一周作业
第一次接触Linux,还是有点不适应的,与Windows区别还是比较大的.在免费与收费.软件与支持.安全性.使用习惯.可定制性和应用范畴等方面都有区别. 通过实验楼的<Linux基础入门(新版) ...
- ASP.NET datable导出excel
本文转载:http://www.cnblogs.com/chwkai/archive/2005/10/08/250426.html 不错的文章:http://www.cnblogs.com/lzhp/ ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作 最近比较忙,系统难度独步增加,文章的发布速度明显比以前慢了. 由于我们 ...
- Linux Device Driver 3th 中的一些坑
linux设备驱动第三版由于年代比较久远,有很多东西已过时.开一贴记录自己发现的一些问题. 4.3.1.4. seq_file接口 此节最后提到用 struct proc_dir_entry* cre ...
- 实用脚本 - - addLoadEvent 页面加载完毕执行函数
function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != "functio ...
- Couchbase用的端口
文档首页: http://www.couchbase.com/documentation http://docs.couchbase.com/couchbase-manual-2.2/#prepara ...
- sqlserver 时间 格式化
0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM) 1 101 美国 mm/dd/yyyy ...