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进行响应归一化操作 参数 ...
随机推荐
- ADO数据库链接
一.数据库操作准备 // --------------------------------------------------------------------------------------- ...
- galera mysql 多主复制启动顺序及命令
Mysql 被复制机 sql启动
- Centos 6.4 openNebula4
我们实验室的 OpenNebula 3.2 已经很稳定的运行了两年,除了开头一个月不熟悉这套云计算软件有点乱.容易犯错外接下来的时间里都很稳定,期间还包括一次防火演习(突然拉闸似断电)和安全检查(计划 ...
- The Doors - POJ 1556 (线段相交)
题目大意:有一个房间(左上角(0,10),右下角(10,0)),然后房间里有N面墙,每面墙上都有两个门,求出来从初始点(0,5),到达终点(10,5)的最短距离. 分析:很明显根据两点之间直线最短 ...
- poj 1218 THE DRUNK JAILER【水题】
THE DRUNK JAILER Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25124 Accepted: 1576 ...
- Huffman树及其应用
哈夫曼树又称为最优二叉树,哈夫曼树的一个最主要的应用就是哈夫曼编码,本文通过简单的问题举例阐释哈夫曼编码的由来,并用哈夫曼树的方法构造哈夫曼编码,最终解决问题来更好的认识哈夫曼树的应用--哈夫曼编码. ...
- 访问者模式(Visitor)
@@@模式定义: 表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下 定义作用于这些元素的新操作. @@@练习示例: 扩展客户管理的功能 @@@示例代码: \patter ...
- PullToRefreshListView调用onRefreshComplete方法 无法取消刷新的bug
我们在使用框架: PullToRefreshListView 实现下拉或者上拉加载时候,可能在上拉 完成时候,调用onRefreshComplete方法去 停止 刷新操作,但是,可能无效,测试产生 ...
- gprof + kprof + gprof2dot (性能 与 函数调用图)-
http://www.cnblogs.com/rocketfan/archive/2009/11/15/1603465.html http://blog.csdn.net/stanjiang2010/ ...
- [转] SSH 密钥认证机制
使用 RSA 密钥对进行 SSH 登录验证 使用 RSA 密钥对验证 SSH 的优点是 1) 不用打密码 2) 比密码验证更安全:缺点是 1) 第一次配置的时候有点麻烦 2) 私钥需要小心保存.Any ...