1.has_.has(object, key)
对象是否包含给定的键吗?等同于object.hasOwnProperty(key),但是使用hasOwnProperty 函数的一个安全引用,以防意外覆盖。
_.has({a: 1, b: 2, c: 3}, "b"); => true
注:has是判断用于对象的键是否存在
2.indexOf_.indexOf(array, value, [isSorted])
返回value在该 array 中的索引值,如果value不存在 array中就返回-1。使用原生的indexOf 函数,除非它失效。如果您正在使用一个大数组,你知道数组已经排序,传递true给isSorted将更快的用二进制搜索..,或者,传递一个数字作为第三个参数,为了在给定的索引的数组中寻找第一个匹配值。
_.indexOf([1, 2, 3], 2); => 1
索引位置
还可以用于:判断数组中是否过存在元素a:
Var list=[1,12,4,5,1,2,]
If(list.indexOf(‘10’)==-1){ //if中判断语句为:10不在list数组中
Console.log(‘ture’)
}
结果为:ture;
3.contains_.contains(list, value)
别名: include
如果list包含指定的value则返回true(注:使用===检测)。如果list 是数组,内部使用indexOf
_.contains([1, 2, 3], 3); => true
Contains,也同为判断数组中是否存在元素;
4.find_.find(list, predicate, [context])
别名: detect
在list中逐项查找,返回第一个通过predicate迭代函数真值检测的元素值,如果没有值传递给测试迭代器将返回undefined
。如果找到匹配的元素,函数将立即返回,不会遍历整个list。
var aray=[1,2,4,5,6,3,8];
_.find(array,function(num){return num%2==0}
=>2
遍历数组,只会返回条件成立的第一个数据。
而,filter则会返回全部满足条件成立的数据,reject 与filter相反。
5.where_.where(list, properties) 遍历list中的每一个值,返回一个数组,这个数组包含properties所列出的属性的所有的 键 - 值对。
_.where(listOfPlays, {author: "Shakespeare", year: 1611}); => [{title: "Cymbeline", author: "Shakespeare", year: 1611}, {title: "The Tempest", author: "Shakespeare", year: 1611}]