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

最新文章

  1. Lesson 10 Not for jazz
  2. $.unique()去重问题
  3. 使用dreamweaver去掉文本中的空格和换行
  4. 通过DOM节点操作来获取表单信息
  5. 将spring管理的bean使用注解的方式注入到servlet中
  6. JS数组(Array)处理函数总结
  7. lightoj 1004 dp:数字三角形
  8. 更换centos源
  9. 利用requestjs优化响应式移动端js加载
  10. 用VulApps快速搭建各种漏洞环境
  11. redis的set类型
  12. 从零学习Fluter(八):Flutter的四种运行模式--Debug、Release、Profile和test以及命名规范
  13. TextView设置不同字段不同点击事件
  14. Django学习笔记之安全
  15. python3+requests库框架设计02-封装日志类
  16. java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  17. HihoCoder 1236 Scores - bitset - 分块
  18. laravel with 渴求式加载指定字段
  19. FastAdmin 浏览器 JS CSS 缓存如何更新?
  20. java自定义线程池

热门文章

  1. Vagrant 集群的部署
  2. [Locked] Shortest Distance from All Buildings
  3. 什么是method swizzling
  4. Tomcat配置NIO
  5. [置顶] cocos2d-x 植物大战僵尸(4) 帽子僵尸的产生
  6. JavaScript--execCommand指令集
  7. css中var函数
  8. Aircrack-ng 工具箱
  9. Android 中Webview 自适应屏幕
  10. Spring框架