• Lodash-js工具库


    1. Lodash 简介

    Lodash 是一个现代 实用工具库,提供了许多有用的函数,帮助开发者处理常见的编程任务,如数组操作、对象处理、字符串处理等。Lodash 使得代码更简洁、更高效,极大地提高了开发效率。Lodash 的设计灵感来自于 Underscore.js,但提供了更多的功能和更好的性能。

    2. 安装 Lodash

    Lodash 可以通过多种方式安装:

    使用 npm 安装

    npm i --save lodash
    

    在浏览器环境

    <script src="lodash.js"></script>
    

    3. 常用函数示例

    3.1 数组操作

    _.chunk

    将数组分成多个长度为指定大小的数组块。

    const _ = require('lodash');
    
    const array = [1, 2, 3, 4, 5, 6, 7, 8];
    const chunkedArray = _.chunk(array, 2);
    console.log(chunkedArray); // [[1, 2], [3, 4], [5, 6], [7, 8]]
    
    _.flatten

    将嵌套的数组展开一层。

    const array = [1, [2, [3, [4]], 5]];
    const flattenedArray = _.flatten(array);
    console.log(flattenedArray); // [1, 2, [3, [4]], 5]
    
    _.uniq

    移除数组中的重复元素。

    const array = [1, 2, 2, 3, 4, 4, 5];
    const uniqueArray = _.uniq(array);
    console.log(uniqueArray); // [1, 2, 3, 4, 5]
    

    3.2 对象操作

    _.merge

    深度合并两个对象。

    const object1 = { a: 1, b: { c: 2 } };
    const object2 = { b: { d: 3 } };
    const mergedObject = _.merge(object1, object2);
    console.log(mergedObject); // { a: 1, b: { c: 2, d: 3 } }
    
    _.get

    获取对象中指定路径的值。

    const object = { a: { b: { c: 3 } } };
    const value = _.get(object, 'a.b.c');
    console.log(value); // 3
    
    _.set

    设置对象中指定路径的值。

    const object = { a: { b: { c: 3 } } };
    _.set(object, 'a.b.c', 4);
    console.log(object.a.b.c); // 4
    

    3.3 集合操作

    _.groupBy

    根据指定的条件将集合中的元素分组。

    const array = [6.1, 4.2, 6.3];
    const groupedByFloor = _.groupBy(array, Math.floor);
    console.log(groupedByFloor); // { '4': [4.2], '6': [6.1, 6.3] }
    
    _.map

    创建一个新数组,其结果是对每个集合元素执行函数后的返回值。

    const array = [1, 2, 3];
    const doubledArray = _.map(array, (n) => n * 2);
    console.log(doubledArray); // [2, 4, 6]
    

    3.4 函数操作

    _.debounce

    创建一个防抖动函数,在一定时间内重复调用时,只有最后一次调用的结果会被执行。

    const saveInput = _.debounce((value) => {
      console.log('Saving data', value);
    }, 300);
    
    document.getElementById('input').addEventListener('input', (event) => {
      saveInput(event.target.value);
    });
    
    _.throttle

    创建一个节流函数,在一定时间内只能执行一次。

    const updatePosition = _.throttle((event) => {
      console.log('Mouse position', event.clientX, event.clientY);
    }, 100);
    
    document.addEventListener('mousemove', updatePosition);
    

    3.5 字符串操作

    _.capitalize

    将字符串的首字母转换为大写。

    const text = 'hello world';
    const capitalizedText = _.capitalize(text);
    console.log(capitalizedText); // 'Hello world'
    
    _.kebabCase

    将字符串转换为 kebab case。

    const text = 'Hello World';
    const kebabText = _.kebabCase(text);
    console.log(kebabText); // 'hello-world'
    

    4. 总结

    Lodash 是一个强大的 工具库,提供了许多实用的函数,帮助开发者简化数据操作。无论是数组、对象、集合、函数还是字符串操作,Lodash 都提供了丰富的 API,使得代码更简洁、高效。熟练掌握 Lodash 能显著提高开发效率和代码质量。

  • 相关阅读:
    Java中ReentrantLock测试线程的安全
    FreeRTOS个人笔记-支持时间片
    计算机网络原理 网络层
    【CSS布局】—— flex(弹性)布局
    el-table 懒加载自动展开节点
    【MySQL】快速了解MySQL基础
    SpringBoot 接收不到 post 请求数据与接收 post 请求数据
    【Rust 日报】2022-06-19 Rust 1.63 新特性令人期待
    JavaEE 锁策略、CAS、synchronized原理
    实现upt下客户端用tftp文件传输协议编写客户端发送下载文件
  • 原文地址:https://blog.csdn.net/m0_72560900/article/details/139893116