underscorejs-findWhere学习
2.8 findWhere
2.8.1 语法:
_.findWhere(list, predicate)
2.8.2 说明:
对list集合的每个对象依次与predicate对象进行匹配,匹配成功则立即返回此对象
- list可以为数组和arguments
- predicate是一个对象
2.8.3 代码示例:
示例一:findWhere对数组,arguments进行操作,与predicate对象进行匹配(数组内需为对象)
var result;
result = _.findWhere([{x: 1, y: 2},{x: 1, z: 3}], {x: 1});
console.log(result) //=> {x: 1, y: 2}
//操作arguments
function abc() {
result = _.findWhere(arguments, {z: 3});
console.log(result); //=> {x: 1, z: 3}
}
abc({x: 1, y: 2}, {x: 1, z: 3});
示例二:predicate需要是一个对象否则直接返回list集合的第一个对象
var result;
result = _.findWhere([{x: 1, y: 2},{x: 1, z: 3}], {x: 1});
console.log(result) //=> {x: 1, y: 2}
// 非对象的情况
result = _.findWhere([{x: 1, y: 2},{z: 3}], null);
console.log(result) //=> {x: 1, y: 2}
2.8.4 list非数组且predicate没值得的时候会怎样?
// list为字符的情况
var result = _.findWhere('123');
console.log(result) //=> "1" list为字符串会返回字符串的第一个字符
// list为对象的情况
var result = _.findWhere({x: 1, y: '2'});
console.log(result) //=> 1 list为对象会返回对象的第一个属性值
2.8.5 基本用法已经知道怎么用了,是否有遗漏呢?
示例一:我们现在已经知道predicate为空的情况下回返回第一个属性值,如果匹配不到则会返回什么呢?
var result;
result = _.findWhere([{x: 1, y: 2},{x: 1, z: 3}], {x: 10});
console.log(result) //=> undefined
gitbook地址:https://www.gitbook.com/book/niec-fe/underscorejs/details
underscorejs-findWhere学习的更多相关文章
- 不学就吃亏的underscorejs类库学习示例 ——(集合篇)
underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...
- Backbone学习笔记一Backbone中的MVC
原文章地址http://bigdots.github.io/2015/12/01/Backbone学习笔记(一)/#more Backbone.js为复杂WEB应用程序提供模型(models).集合( ...
- APPCAN学习笔记004---AppCan与Hybrid,appcan概述
APPCAN学习笔记004---AppCan与Hybrid,appcan概述 技术qq交流群:JavaDream:251572072 本节讲了appcan的开发流程,和开发工具 笔记不做具体介绍了,以 ...
- Angularjs学习笔记《一》
开始慢慢的学习新的框架,Angularjs,其中原理不知深浅,但有例子练习,慢慢熟知.看的英文文档一点点翻译学习. 第一个例子,写一个增加,选中,删除的例子, 首先要引进所用的框架源码,这样引进,下面 ...
- Backbone.js中的where和findWhere
小编的公司框架用的MVC框架依旧是Backbone.js,老大说框架不重要,重要的是框架的编程思想.于是乎,小编从头开始学习Backbone.走马观花似的看了下API文档,撸起袖子就是干.但是碰到一个 ...
- Underscore.js 源码学习笔记(上)
版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}()); 这样的东西,我们应该知道这是一个 IIFE(立即执行 ...
- Backbone学习笔记 - View篇
Backbone是一种Web端的MVC框架,这里纪录学习Model,View和Collection的笔记. 1 View initialize构造函数 Backbone.View 与jQuery库紧密 ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
随机推荐
- matlab中如何求某一个矩阵的标准差和均值
方法: 先reshape成行向量或者列向量 然后,利用mean函数,std函数. 构造测试数据,可以利用random函数,就好.利用这个函数,可以构造不同分布的随机数列(或 矩阵). 如: >& ...
- 网络流(最大流):COGS 28 [NOI2006] 最大获利
28. [NOI2006] 最大获利 ★★★☆ 输入文件:profit.in 输出文件:profit.out 简单对比 时间限制:2 s 内存限制:512 MB [问题描述] 新的技术 ...
- Codeforces 716A Crazy Computer 【模拟】 (Codeforces Round #372 (Div. 2))
A. Crazy Computer time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- HDOJ(HDU) 2304 Electrical Outlets(求和、、)
Problem Description Roy has just moved into a new apartment. Well, actually the apartment itself is ...
- Java系统变量设置方式
近期碰到一个编码的问题,发现整个平台都是用的GB2312,因此导致webservice调用时有些字不能正常接受. 反编译中间件的源码如下: public static final String nod ...
- 理解Java NIO
基础概念• 缓冲区操作缓冲区及操作是所有I/O的基础,进程执行I/O操作,归结起来就是向操作系统发出请求,让它要么把缓冲区里的数据排干(写),要么把缓冲区填满(读).如下图• 内核空间.用户空间 上图 ...
- 【转载】运维小技巧:使用ss命令代替 netstat
转自:https://www.91ri.org/12470.html ss是Socket Statistics的缩写. 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类 ...
- Android中的RelativeLayout
安卓布局之一,RelativeLayout.又称之为相对布局.对于一个界面每个人都有不同的实现.我比较喜欢使用RelativeLayou.原因是,相对布局不会出现过多的嵌套,在现在硬件不断发展的今天, ...
- Servlet中获取JSP内置对象
方便自己查询,嫌低级的勿喷.... 1.request 在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是Htt ...
- 小菜学习Lucene.Net(更新3.0.3版本使用)
花了两天的时间研究了下Lucene.Net 发现确实挺好玩.... 最新版本是3.0.3 (最后更新时间2012-10) 可惜3.0.3版本的Lucene.net无法和盘古分词 (最新版为2.3.1. ...