underscorejs之_.contains(list, item, fromIndex, guard)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了underscorejs之_.contains(list, item, fromIndex, guard)相关的知识,希望对你有一定的参考价值。
语法:
_.contains(list, item, fromIndex, guard)
说明:
list集合包含指定的值则返回true,否则返回false
- list可以为数组,对象,字符串和arguments
- item是一个参数(contains会处理list中是否包含此参数),可以为数字,字符串
- fromIndex是一个数字,根据此索引决定list开始检索的位置,可为正值,也可为负值;(负值不是真正的负值,而是list的倒数,下面会详细讲解);若非数字则fromIndex的索引从0开始
代码示例:
示例一: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最后一位倒数
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(list, item, fromIndex, guard)的主要内容,如果未能解决你的问题,请参考以下文章
underscorejs之_.find(list, predicate, [context])
underscorejs之 _.indexBy(list, iteratee, [context])
underscorejs之_.countBy(list, iteratee, [context])
underscorejs之_.map(list, iteratee, [context])