lodash模块工作中常用操作

1._.map(collections,function)
function square(n) {
【lodash模块工作中常用操作】return n * n;
}
_.map([4, 8], square);
// => [16, 64]

2._.pick从某个对象中选择部分属性组成新的对象
var objA = {"name": "colin", "car": "suzuki", "age": 17};
var objB = _.pick(objA, ['car', 'age']);
/{"car": "suzuki", "age": 17}


3._.find(collection, [predicate=_.identity])
遍历集合中的元素,返回最先经 predicate 检查为真值的元素。 返回第一个匹配到的元素或对象
var users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred', 'age': 40, 'active': false }, { 'user': 'pebbles', 'age': 1, 'active': true } ]; _.find(users, function(o) { return o.age < 40; });

4. _.isEmpty(value) 检查值是否是一个空对象
_.isEmpty(null);
// => true
_.isEmpty(true);
// => true
_.isEmpty(1); 如果传入数字,最后会返回[].length === 0。数字被当成了
// => true
object object 来判断。
文档里说了传入的是可枚举的对象。

5._.groupBy(collection, [iteratee=_.identity])
返回一个组成汇总的对象

_.groupBy([6.1, 4.2, 6.3], Math.floor); // => { '4': [4.2], '6': [6.1, 6.3] }// 使用了 `_.property` 的回调结果 _.groupBy(['one', 'two', 'three'], 'length'); // => { '3': ['one', 'two'], '5': ['three'] }


6._.includes(collection,value,[fromindex=0]
检查 value(值) 是否在 collection(集合) 中。如果 collection(集合)是一个字符串,那么检查 value(值,子字符串) 是否在字符串中如果指定 fromIndex 是负数,那么从 collection(集合) 的结尾开始检索
  1. collection (Array|Object|string): 要检索的集合。
  2. value (*): 要检索的值。
  3. [fromIndex=0] (number): 要检索的 索引位置。
_.orderBy排序

_.orderBy(_.filter(results, item => !_.isEmpty(item) && item.state === 1), ['createTime'], ['desc'])

先过滤掉results不等于空的对象和状态为1的在根据创建时间排序


8._.random在指定范围内获取一个随机值

_.random(20); // 返回 0 到 20的随机数 _.random(15, 20, true); // 返回 15 到 20的浮点型随机数;


    推荐阅读