这三个函数是Underscore的中一些函数;Underscore是一个JavaScript实用库,提供了一整套函数式编程的实用功能(这里不详细介绍,百度都可以搜到)。
has_.has(object, key)
对象是否包含给定的键吗?等同于object.hasOwnProperty(key),但是使用hasOwnProperty 函数的一个安全引用,以防意外覆盖。
_.has({a: 1, b: 2, c: 3}, "b"); => true
contains_.contains(list, value, [fromIndex])
Alias: includes
如果list包含指定的value则返回true(愚人码头注:使用===检测)。如果list 是数组,内部使用indexOf判断。使用fromIndex来给定开始检索的索引位置。
_.contains([1, 2, 3], 3); => true
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}]