lodash速覽:集合方法(二)

一、_.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}
//    ]

這個挺實用,尤爲在頁面裏對一系列數據進行各類點擊排序的時候。ide

二、_.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的篩選功能了。excel

三、_.reduce(collection, [iteratee=_.identity], [accumulator]):待續。code

四、_.reject(collection, [predicate=_.identity]):篩選不符合的項,_.filter的互補方法。排序

五、_.sample(collection):隨機從集合中取出一項。
_.sampleSize(collection, [n=1]):隨機從集合中取出N項。it

六、_.shuffle(collection):對集合隨機亂序。io

七、_.size(collection):返回集合的長度(或包含多上項)。function

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

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

相關文章
相關標籤/搜索