lodash速览:集合方法(二)

1、_.orderBy(collection, [iteratees=[_.identity]], [orders]):排序。这个方法跟_.sortBy挺像,不同的是_.orderBy可以指定迭代函数排序的方式orders,如果orders未指定,默认采取升序排列。

var users = [
  { 'user': 'fred',   'age': 48 },
  { 'user': 'barney', 'age': 34 },
  { 'user': 'fred',   'age': 40 },
  { 'user': 'barney', 'age': 36 }
];
_.orderBy(users, ['user', 'age'], ['asc', 'desc']);    //user升序age降序排列
//    [
//        {user: "barney", age: 36},
//        {user: "barney", age: 34},
//        {user: "fred", age: 48},
//        {user: "fred", age: 40}
//    ]

这个挺实用,尤其在页面里对一系列数据进行各种点击排序的时候。

2、_.partition(collection, [predicate=_.identity]):返回一个数组,将集合分成两部分,符合迭代函数规则的放在第一个数组,不符合迭代规则的放在第二个数组。

var users = [
  { 'user': 'barney',  'age': 36, 'active': false },
  { 'user': 'fred',    'age': 40, 'active': true },
  { 'user': 'pebbles', 'age': 1,  'active': false }
];
_.partition(users, function(o) { return o.active; });
//    [
//        [{user: "fred", age: 40, active: true}],
//        [{user: "barney", age: 36, active: false},{user: "pebbles", age: 1, active: false}]
//    ]

啊啊啊,这个也好实用啊,如果orderBy类似于excel的排序功能的话,partition就是excel的筛选功能了。

3、_.reduce(collection, [iteratee=_.identity], [accumulator]):待续。

4、_.reject(collection, [predicate=_.identity]):筛选不符合的项,_.filter的互补方法。

5、_.sample(collection):随机从集合中取出一项。
_.sampleSize(collection, [n=1]):随机从集合中取出N项。

6、_.shuffle(collection):对集合随机乱序。

7、_.size(collection):返回集合的长度(或包含多上项)。

8、_.some(collection, [predicate=_.identity]):集合是否包含指定项。

9、_.sortBy(collection, [iteratees=[_.identity]]):排序。

    原文作者:梵天白莲
    原文地址: https://segmentfault.com/a/1190000015708166
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞