underscorejs-contains学习
2.12 contains
2.12.1 语法:
_.contains(list, item, fromIndex, guard)
2.12.2 说明:
list集合包含指定的值则返回true,否则返回false
- list可以为数组,对象,字符串和arguments
- item是一个参数(contains会处理list中是否包含此参数),可以为数字,字符串
- fromIndex是一个数字,根据此索引决定list开始检索的位置,可为正值,也可为负值;(负值不是真正的负值,而是list的倒数,下面会详细讲解);若非数字则fromIndex的索引从0开始
2.12.3 代码示例:
示例一:contains对list根据item进行检索,包含item则返回true
var result;
// 数组进行检索
result = _.contains([1, 2, 3], 2);
console.log(result) //=> true
// 对象进行检索
result = _.contains({x: 1, y: 2, z: 3}, 2);
console.log(result) //=> true
// 字符串进行检索
result = _.contains('123', "2");
console.log(result) //=> true
// arguments进行检索
function abc(){
result = _.contains(arguments, 2);
console.log(result); //=> true
}
abc(1, 2, 3);
示例二:item属性
var result;
// item为数字
result = _.contains(['1', 2, '3'], 2);
console.log(result) //=> true
// item为字符串
result = _.contains({x: '1', y: '2', z: '3' }, "4");
console.log(result) //=> false
// item为bool
result = _.contains([0, false], true);
console.log(result) //=> false
示例三:fromIndex索引值(可为正值,也可为负值,非number类型则fromIndex默认为0)
var result;
// item为数字
result = _.contains([1, 2, 3], 3, 0);
console.log(result) //=> true
// item为字符串
result = _.contains([1, 2, 3], 3, "3");
console.log(result) //=> true
// item为负值
result = _.contains({x: '1', y: '2', z: '3' }, "3", -1);
console.log(result) //=> true
result = _.contains({x: '1', y: '2', z: '3' }, "2", -1);
console.log(result) //=> false 由此可看出当fromIndex为负值的时候,fromIndex是根据list最后一位倒数
2.12.4 contains也可有第四个参数guard;
示例一:guard为真值的情况fromIndex的索引从0开始;(这个属性官方没有做出明确的说明,只是个人理解,若有更好的建议,可以联系作者)
var result;
// guard为空,则根据fromIndex索引进行检索
result = _.contains(['a', 'b', 'c'], 'c', 2);
console.log(result) //=> true
// guard为true
result = _.contains(['a', 'b', 'c'], 'c', 3, true);
console.log(result) //=> true
// guard为false
result = _.contains(['a', 'b', 'c'], 'c', 3, false);
console.log(result) //=> false
underscorejs-contains学习的更多相关文章
- 不学就吃亏的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学习笔记 - 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编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- javascript 路线整理
前端开发很重要,编写脚本也不容易. 总结我以前的前端学习经历,基本是一团乱麻:css+javascript是在大三自学的,当时自己做课程设计,逼着自己在一个月之内,写了一个半成品的j2ee网站.当时, ...
- 【模拟】Codeforces 707A Brain's Photos
题目链接: http://codeforces.com/problemset/problem/707/A 题目大意: 给一张N*M的图,只有六种颜色(如下),只含B,W,G的是黑白图,否则是彩色图.问 ...
- 【无源汇上下界最大流】SGU 194 Reactor Cooling
题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=194 题目大意: n个点(n<20000!!!不是200!!!RE了无数次) ...
- NeoOcean - Unity3D Ocean Waves Simulation
GMail: bearworks8@gmail.com QQMail:196221347@qq.com QQ Group:391782326 Dropbox Demo: https://www.dr ...
- poj2325
题目大意描述: 题目:固执的数??持久的数?? 2014/12/06 18:41 数字乘法的持久性由 Neil Sloane定义, (Neil Sloane在一个娱乐杂志上发表关于数字持久性的文章 6 ...
- SEDA工作笔记(一)
摘要 在普遍认知中,软件开发实践是一项充满不确定性的工作,这是由于编码工作占据了其绝大部分的工作,而编码本身就是具有极大不确定性的.同样,计算机科学被视作一门门槛低,基于经验,而无理论意义的纯工程类学 ...
- 数位DP初步 bzoj1026 hdu2089 hdu3555
为了搞SCOI的几道题先做水数位.之前听过课,半懂不懂吧,现在清楚了些. 这类题一般满足区间减法,即只需要我们求出(1,n)即可,然后打表也是为了sovle(DataType)服务.先想好怎么计算,再 ...
- Linux散列表(二)——宏
散列表宏承接了双向链表宏的风范,好使好用!务必区分“结点”和“元素”!双链表宏博文中已经提及,这里不赘述! 1.获取元素(结构体)基址 #define hlist_entry(ptr, type, m ...
- android——wifi系统架构
1. 系统架构 Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口.整个WiFi系统架构如下图所示 ...
- backgroundworker组件的使用
本文转载:http://www.cnblogs.com/inforasc/archive/2009/10/12/1582110.html BackgroundWorker 组件用来执行诸如数据库事务. ...