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

转载于:https://www.cnblogs.com/kyo4311/p/5172031.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值