lodash常用方法

304 阅读1分钟

1. cloneDeep

    var deep = _.cloneDeep(objects);
    var deep = JSON.parse(JSON.stringify(objects))

2. uniq

    var arr2 = _.uniq(arr1);
    var arr2 = [... new Set(arr1)]

3. map

    var users = [
        { 'name': 'barney' },
        { 'name': 'fred' }
    ];
    var arr = _.map(users, 'name')
    var arr = users.map(item => item.name)

4. omit

    var object = { 'a': 1, 'b': '2', 'c': 3 };
    _.omit(object, ['a', 'c']);
    // => { 'b': '2' }

5. pick

    var object = { 'a': 1, 'b': '2', 'c': 3 };
    _.pick(object, ['a', 'c']);
    // => { 'a': 1, 'c': 3 }

6. debounce

    $(window).on('resize', _.debounce(fn, 150));

7. head

    var arr = [1,2,3]
    _.head(arr);  // => 1
    var num = arr[0]

8. tail

    var arr = [1,2,3]
    _.tail(arr);  // => [2,3]
    const [head, ...tail] = [1, 2, 3];

9. last

    var arr = [1,2,3]
    _.last(arr);  // => [3]

10. initial

    var arr = [1,2,3]
    _.initial(arr);  // => [1,2]

11. shuffle

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

12. compact

    _.compact([0, 1, false, 2, '', 3]);
    // => [1, 2, 3]

13. sumBy

    var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
    _.sumBy(objects, 'n');

14. meanBy

    var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
    _.meanBy(objects, 'n');

15. truncate

    _.truncate('hi-diddly-ho there, neighborino', {
      'length': 24
    });
    [options.length=30] (number): 允许的最大长度。

16. take

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

17. drop

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

18. groupBy

   var courseGroup = _.groupBy(arr, 'lesson.courseSession.objectId')
   var finalData = Object.values(courseGroup)