js工具类Lodash、功能介绍、用法

这篇具有很好参考价值的文章主要介绍了js工具类Lodash、功能介绍、用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Lodash 是一个非常流行的 JavaScript 实用工具库,它提供了一系列优化后可重复使用的函数,简化了 JS 开发中各种常见任务的编写。

以下是 Lodash 常用功能及用法的详细介绍:

一、数组操作

1.复制数组:clone(array)

用法举例:

const arr1 = [1, 2, 3];
const arr2 = _.clone(arr1);
console.log(arr2); // [1, 2, 3]

2.合并多个数组:concat(...arrays)

用法举例:

const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = _.concat(arr1, arr2);
console.log(arr3); // [1, 2, 3, 4]

3.删除数组中所有符合条件的元素:remove(array, [predicate=_.identity])

用法举例:

const arr = [1, 2, 3, 4, 5];
_.remove(arr, n => n % 2 === 0); // 删除所有偶数
console.log(arr); // [1, 3, 5]

4.打乱数组顺序:shuffle(array)

用法举例:

const arr = [1, 2, 3, 4, 5];
_.shuffle(arr);
console.log(arr); // [3, 1, 5, 4, 2](随机顺序)

5.数组去重:uniq(array)

用法举例:

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

二、对象操作

1.复制对象:clone(value)

用法举例:

const obj1 = { foo: 'bar' };
const obj2 = _.clone(obj1);
console.log(obj2); // {foo: "bar"}

2.深度合并多个对象:merge(object, [sources])

用法举例:

const object = {
  a: [{ b: { c: 3 } }],
  d: { e: 2 },
};
const other = {
  a: [{ b: { d: 4 } }],
  f: { g: 5 },
};
_.merge(object, other);
console.log(object); // {a: [{b: {c: 3, d: 4}}], d: {e: 2}, f: {g: 5}}

3.从对象中获取指定属性的值:get(object, path, [defaultValue])

用法举例:

const obj = { user: { name: 'John' } };
const name = _.get(obj, 'user.name', 'unknown');
console.log(name); // John

4.判断变量是否为对象类型:isObject(value)

用法举例:

console.log(_.isObject({})); // true
console.log(_.isObject(null)); // false
console.log(_.isObject(1)); // false

5.对象深度比较:isEqual(value, other)

用法举例:

const obj1 = { foo: 'bar' };
const obj2 = { foo: 'bar' };
const isEqual = _.isEqual(obj1, obj2);
console.log(isEqual); // true

三、字符串操作

1.首字母大写:capitalize([string=''])

用法举例:

console.log(_.capitalize('hello world')); // 'Hello world'

2.转义 HTML 字符:escape([string=''])

用法举例:

console.log(_.escape('<div>Hello</div>')); // '&lt;div&gt;Hello&lt;/div&gt;'

3.将字符串转换为驼峰式:camelCase([string=''])

用法举例:

console.log(_.camelCase('foo_bar_baz')); // 'fooBarBaz'

4.将字符串转换为下划线式:snakeCase([string=''])

用法举例:

console.log(_.snakeCase('fooBarBaz')); // 'foo_bar_baz'

5.去除字符串两端的空格:trim([string=''], [chars=whiteSpace])

用法举例:

console.log(_.trim('   hello world   ')); // 'hello world'

四、函数操作

1.延迟执行函数:debounce(func, [wait=0], [options={}])

用法举例:

function foo() {
  console.log('bar');
}
const debouncedFoo = _.debounce(foo, 1000);
debouncedFoo(); // 等待1秒后才会输出'bar'

2.在函数被调用 n 秒后执行:delay(func, wait, args)

用法举例:

function foo() {
  console.log('bar');
}
_.delay(foo, 1000); // 等待1秒后输出'bar'

3.绑定函数的 this 对象:bind(func, thisArg, [partials])

用法举例:

const obj = { x: 42 };
function foo() {
  return this.x;
}
const boundFoo = _.bind(foo, obj);
console.log(boundFoo()); // 42

4.只允许函数执行一次:once(func)

用法举例:

function foo() {
  console.log('bar');
}
const onceFoo = _.once(foo);
onceFoo(); // 只输出一次'bar'
onceFoo();
onceFoo();

5.函数节流:throttle(func, [wait=0], [options={}])

用法举例:

function foo() {
  console.log('bar');
}
const throttledFoo = _.throttle(foo, 1000);
throttledFoo(); // 立即输出'bar'
setTimeout(() => {
  throttledFoo(); // 1秒后再次输出'bar'
}, 1500);

以上只是 Lodash 提供的一些常用功能及用法。实际上 Lodash 中提供的函数非常丰富,涵盖了开发中常见的各种场景。如果你需要日常开发中的某种功能,可以先查看 Lodash 是否提供相应的函数,避免重复造轮子。文章来源地址https://www.toymoban.com/news/detail-679092.html

到了这里,关于js工具类Lodash、功能介绍、用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Radash一款JavaScript最新的实用工具库,Lodash的平替!

    一说lodash应该大部分前端同学都知道吧,陪伴我们好多年的JavaScript工具库,但是自从 ES6 出现后就慢慢退出前端人的视线,能ES6写的代码绝对不会用Lodash,也不是完全不用,就是用的少了。 看过Lodash源码的都知道,都是ES5的各种封装,写的很繁琐各种处理,Lodash 源码的学习

    2024年04月28日
    浏览(50)
  • lodash已死?radash最全使用介绍(附源码说明)—— Array方法篇(3)

    我们已经介绍了radash的相关信息和部分Array相关方法,详情可前往主页查看; 本篇我们继续介绍radash中Array的相关方法; 下期我们将介绍解析radash中剩余的 Array相关方法,并整理出Array方法使用目录,包括 文章说明 和 脑图说明 。 使用说明 参数:迭代次数、每次迭代调用的

    2024年04月12日
    浏览(41)
  • lodash已死?radash最全使用介绍(附源码说明)—— Array方法篇(4)

    tips:点赞 + 收藏 = 学会! 我们已经介绍了 radash 的相关信息和部分Array相关方法,详情可前往主页查看。 本篇我们继续介绍radash中Array的相关方法的剩余方法。 本期文章发布后,作者也会同步整理出Array方法的使用目录,包括 文章说明 和 脑图说明 。 因为方法较多,后续将

    2024年04月24日
    浏览(40)
  • lodash-es 工具库常用工具函数和案例详解,字节跳动面试真题

    文章目录 一、概述 二、安装及使用 2.1 安装 2.2 浅拷贝 clone 2.3 深拷贝 cloneDeep 2.4 防抖 debounce 2.5 节流 throttle 2.6 打乱值 shuffle 三、Vue 动画案例 一、概述 Lodash中文文档 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库,算是从 Underscore 分离出来的超集。 Lodash 通过降

    2024年04月10日
    浏览(59)
  • Vue:[##################] / reify:core-js: timing reifyNode:node_modules/lodash Completed in 4923ms

      遇到问题不要慌,别人可以你也可以。     npm是node官方的包管理器。   cnpm是个中国版的npm,是淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm  : 如果因为网络原因无法使用 npm 下载,那 cnpm 这个就派上用场了。 镜像问题     首先在电脑的终端检测一下自己的镜

    2024年02月08日
    浏览(46)
  • lodash与lodash-es的区别

    Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库,Node.js版本需6。 lodash: lodash 是默认的 commonjs 版本,是为了良好的浏览器兼容性, 它使用了旧版es5的模块语法,体积大。 安装: 引入: lodash-es: lodash-es 是 lodash 的 es modules 版本 ,是着具备 ES6 模块化的版本,体积

    2024年02月11日
    浏览(40)
  • Lodash 真的死了吗?Lodash 5 在哪里?

    与一些传言相反,Lodash依然活跃,并正在迈向Lodash 5的发布! Lodash 是那些为 JavaScript 提供便利功能的实用程序库之一,它使编程变得更加轻松。许多开发者使用它来简化对象和数组的处理。 它也是一个像 Moment.js 那样被捕获得措手不及的库。由于没有模块化,它从一些项目中

    2024年02月06日
    浏览(41)
  • lodash 之 _.isEmpty

    lodash.isEmpty() 是 Lodash 库中的一个函数,用于检查给定值是否为空。它可以用于判断对象、数组、字符串等不同类型的值是否为空。 _.isEmpty() 函数接受一个值作为参数,然后返回一个布尔值。如果值为空,即没有实际内容,函数返回 true;否则返回 false。 在示例中,_.isEmpty(

    2024年02月11日
    浏览(48)
  • lodash的merge()方法

    在JavaScript开发中,对象合并是一个常见的操作。Lodash是一个流行的实用工具库,其中的merge()方法能够方便地将多个对象进行合并。本文将深入介绍lodash的merge()方法,包括它的使用方法、深浅拷贝的原理,以及与JavaScript内置的Object.assign()方法的区别和联系。 merge()方法是Lod

    2024年02月09日
    浏览(37)
  • 使用Lodash实现深拷贝(cloneDeep)

    1.运行 vue ui 命令进入vue项目的可视化面板 2.点击依赖按钮——安装依赖——运行依赖——输入== loadsh==选择并安装 在Vscode新建终端,输入== npm i --save lodash == 回车安装完成 1.在需要使用的lodash深拷贝的组件中,导入lodash 2.例如: 可参考官方文档:https://lodash.com/

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包