• 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]]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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]]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3、_.sample(collection)

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

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

    _.sample([1, 2, 3, 4]);
    // => 2
    
    _.sample([{ a: 1 }, { b: 2 }])
    // => {b: 2}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5、_.shuffle(collection)

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

    创建一个被打乱值的集合

    _.shuffle([1, 2, 3, 4]);
    // => [4, 1, 3, 2]
    
    • 1
    • 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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    Pandas数据分析2-数据分组、Apply函数、合并
    error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘
    深度学习——深度学习计算二
    树莓派、ubuntu低版本python3安装库
    JS进阶-函数剩余参数
    Vuex3使用教程(待续)
    [最新]访问/加速StackOverFlow的方法
    【Leetcode】206. 反转链表
    产品宣传制作电子宣传册十分可行!
    [Spring]Thymeleaf——XML/XHTML/HTML5模板引擎
  • 原文地址:https://blog.csdn.net/qq_43388107/article/details/126645464