lodash笔记(集合篇)

安装引入

  • npm i --save lodash
  • 使用页面
    1、全部引入 import _ from ‘lodash’
    2、按需引入 import x from ‘lodash/x’

详情见官网


1、.orderBy(collection, [iteratees=[.identity]], [orders])

  • collection (Array|Object): 用来迭代的集合。
    [iteratees=[_.identity]] (Array[]|Function[]|Object[]|string[]): 排序的迭代函数。
    [orders] (string[]): iteratees迭代函数的排序顺序。

此方法类似于_.sortBy,除了它允许指定 iteratee(迭代函数)结果如何排序。 如果没指定 orders(排序),所有值以升序排序。 否则,指定为"desc" 降序,或者指定为 “asc” 升序,排序对应值。

var users = [
  { 'user': 'fred',   'age': 48 },
  { 'user': 'barney', 'age': 34 },
  { 'user': 'fred',   'age': 40 },
  { 'user': 'barney', 'age': 36 }
];
 
// 以 `user` 升序排序 再  `age` 以降序排序。
_.orderBy(users, ['user', 'age'], ['asc', 'desc']);
// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]

2、.sortBy(collection, [iteratees=[.identity]])

  • collection (Array|Object): 用来迭代的集合。
    [iteratees=[_.identity]] (…(Array|Array[]|Function|Function[]|Object|Object[]|string|string[])): 这个函数决定排序。

创建一个元素数组。 以 iteratee 处理的结果升序排序。 这个方法执行稳定排序,也就是说相同元素会保持原始排序。 iteratees 调用1个参数: (value)。

var users = [
  { 'user': 'fred',   'age': 48 },
  { 'user': 'barney', 'age': 36 },
  { 'user': 'fred',   'age': 40 },
  { 'user': 'barney', 'age': 34 }
];
 
_.sortBy(users, function(o) { return o.user; });
// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
 
_.sortBy(users, ['user', 'age']);
// => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
 
_.sortBy(users, 'user', function(o) {
  return Math.floor(o.age / 10);
});
// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]


3、_.sample(collection)

  • collection (Array|Object): 要取样的集合。

从collection(集合)中获得一个随机元素。

_.sample([1, 2, 3, 4]);
// => 2

_.sample([{ a: 1 }, { b: 2 }])
// => {b: 2}

4、_.sampleSize(collection, [n=1])

  • collection (Array|Object): 要取样的集合。
    [n=1] (number): 取样的元素个数。

从collection(集合)中获得 n 个随机元素。

_.sampleSize([1, 2, 3], 2);
// => [3, 1]
 
_.sampleSize([1, 2, 3], 4);
// => [2, 3, 1]

5、_.shuffle(collection)

  • collection (Array|Object): 要打乱的集合。

创建一个被打乱值的集合

_.shuffle([1, 2, 3, 4]);
// => [4, 1, 3, 2]

6、.some(collection, [predicate=.identity])

  • collection (Array|Object): 用来迭代的集合。
    [predicate=_.identity] (Array|Function|Object|string): 每次迭代调用的函数。

通过 predicate(断言函数) 检查collection(集合)中的元素是否存在 任意 truthy(真值)的元素,一旦 predicate(断言函数) 返回 truthy(真值),遍历就停止。 predicate 调用3个参数:(value, index|key, collection)。

_.some([null, 0, 'yes', false], Boolean);
// => true
 
var users = [
  { 'user': 'barney', 'active': true },
  { 'user': 'fred',   'active': false }
];
 
// The `_.matches` iteratee shorthand.
_.some(users, { 'user': 'barney', 'active': false });
// => false
 
// The `_.matchesProperty` iteratee shorthand.
_.some(users, ['active', false]);
// => true
 
// The `_.property` iteratee shorthand.
_.some(users, 'active');
// => true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值