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编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
随机推荐
- COJ 2124 Day8-例1
Day8-例1 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 给定n.m的值,求
- phpMyAdmin view_create.php 跨站脚本漏洞
漏洞名称: phpMyAdmin view_create.php 跨站脚本漏洞 CNNVD编号: CNNVD-201307-066 发布时间: 2013-07-05 更新时间: 2013-07-05 ...
- [Locked] Flip Game I & II
Flip Game I You are playing the following Flip Game with your friend: Given a string that contains o ...
- C基本语句测试
- [转载]Python兵器谱
转载自:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然 ...
- 10382 - Watering Grass
Problem E Watering Grass Input: standard input Output: standard output Time Limit: 3 seconds n sprin ...
- Hdu 3887 Counting Offspring \ Poj 3321 Apple Tree \BZOJ 1103 [POI2007]大都市meg
这几个题练习DFS序的一些应用. 问题引入: 给定一颗n(n <= 10^5)个节点的有根树,每个节点标有权值,现有如下两种操作: 1.C x y 以节点x的权值修改为y. 2.Q x ...
- Android使用Linux mount获取SdCard存储文件夹
Android的智能手机各不同样.如今非常多Android智能手机都是自带存储,有的还带有扩展内存的Sdcard卡槽. 在Android开发中,非常多时候依据Android提供的获取SdCard存储方 ...
- [PWA] 14. Loop cursor
import idb from 'idb'; var dbPromise = idb.open('test-db', 4, function (upgradeDb) { switch (upgrade ...
- InnoDB主要数据结构及调用流程
InnoDB主要数据结构及调用流程 InnoDB是MySQL中常用的数据引擎.本文将从源码级别对InnoDB重点数据结构和调用流程进行分析. 主要数据结构(buf0buf.h) Buf_pool Bu ...