欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

查找,过滤,反过滤 - find, filter, reject《 Underscore 基础 》

使用 find 这个方法,可以去找到列表里面第一个符合我们设置的规则的结果。下面,去试一下 ..

比如这个 tracks 数组 .. 找出这个数组里面的元素的字符长度大于 2 的第一个项目 ... _.find ... 要查找的列表是 tracks ... 再设置一下它的第二个参数,是一个函数 ... 在这个函数里面,我们可以去设置一下查找的规则 ...

这里我们让它返回元素字符长度大于 2 的第一个项目 ...

_.find(tracks, function(track){ return track.length > 2; })
// "不可一世"

回车 ... 返回的结果是 不可一世 ... 因为在 tracks 这个数组里面,第一个字符长度大于 2 的项目就是这个 不可一世 ... 如果你想得到所有的符合设置的规则的项目 ...

可以使用 filter 这个方法 ...

_.filter(tracks, function(track){ return track.length > 2; })
// ["不可一世", "温暖的家乡", "无语问苍天", "早班火车"]

返回的结果就是在 tracks 这个数组里面,所有的字符长度大于 2 的项目 ... filter 是过滤的意思 ... 这个方法的意思就是,过滤出符合规则的结果 ... 也就是,在这个函数里面,所有通过验证的项目都会包含在这个返回来的结果里面。

跟 filter 相反的是 reject ... 使用它,我们可以得到所有的验证失败的项目 ...

_.reject(tracks, function(track){ return track.length > 2; })
// ["长城", "农民", "遥望"]

得到的结果是,tracks 里面,所有的字符数小于 2 的项目 ...

普通分类: