开发人员不仅需要完成任务,还需要以更高效的方式完成任务。 如今,JavaScript 中有几个库可以让开发人员更轻松地处理变量。 我们将在本教程中学习如何使用 Lodash 库中最常用的函数。
如果您还没有尝试过 Lodash,那么现在就是时候了。 Lodash 是一个现代 JavaScript 实用程序包,它简化了对数组、整数、对象、文本和其他数据类型的处理。
它将帮助您处理各种类型的对象,并通过消除编写泛型方法的需要来节省您的时间。 您的代码会更简洁,行数更少,并且可以在所有浏览器中运行。 如果你还没有使用它,你应该仔细考虑它。
不采用 Lodash 对我们的 JavaScript 代码库来说是一个巨大的损失。 它是解决我们在工作中遇到的常见挑战的一种无错误且优雅的解决方案,使用它只会使我们的代码更具可读性和可管理性。
让我们深入研究一些更流行(或不是!)的 Lodash 函数,并发现这个库是多么有用和美丽。
1. _.sortedUniq
此值不会返回所有重复值。 因为它仅用于排序数组,所以主要用于速度原因。 这仅在您处理大型数组时才有用。 如果您希望提高速度,请对数组进行排序并使用对排序数组进行更好操作的方法。
Lodash 还有许多与此类似的其他功能。 您可以查看 .sortedIndex、.sortedIndexBy、.sortedIndexOf、.sortedLastIndex、.sortedLastIndexBy、.sortedLastIndexOf、.sortedUniq、.sortedUniqBy、.sortedUniqBy、.sortedUniqBy、.sortedUniqBy。
2. _.减少
_.reduce 类似于过滤器函数。 唯一的区别是您可以选择返回对象的形式。 如果您不理解我在说什么,这很正常; 有一个例子。
本质上,我们返回一个包含按年龄分类的用户的新对象,但仅限于 18 到 59 岁的用户。这个 Lodash 辅助函数是最常用的函数之一。 它也包含在 ES6 中。 我还想指出两个典型的错误:记住在函数结束时返回结果,并提供结果的默认值作为第三个参数(此处)。
3. _.get 和 ._set
对于这个,我将通过展示两个执行几乎相同的功能的函数来欺骗您。 _.get 从一个对象返回一个属性值,而 _.set,好吧,你猜对了,设置一个带有值的属性。 没有什么独特的,除了你可以通过它的路径访问一个属性。
让我们看一个例子。
如果调用_.set时路径不存在,则会生成。 不会再出现“无法设置未定义的属性‘项目’”错误。 如果路径不存在,_.get 将返回 undefined 而不是错误。 如果路径解析为未定义,您还可以提供默认值(第三个参数)。
4. _.查找
我们可以使用 _.find,而不是遍历数组来查找单个对象。 这很好,但这不是 _.find 可以做的唯一事情。 只需一行代码,您还可以通过利用众多属性来发现一个对象。 看看这个!
5. _.keyBy
我的最爱之一是 _.keyBy。 在尝试获取具有特定属性的对象时非常有用。 假设我们有 100 个博客条目,并且想要获取 ID 为“34abc”的条目。 我们要怎么做? 让我们看看发生了什么! 如果服务器将对象集合作为数组提供,此方法可以帮助您安排对象集合。 函数也可以用作第二个参数。
6._.forEach
此方法将逐个遍历对象数组,允许您执行任何您想要的逻辑。 在第一个示例中,我将遍历用户对象列表,合并他们的名字和姓氏以创建一个名为 fullName 的新属性。
forEach 接受两个参数。 我们循环的数组是第一个参数。 第二个参数是一个迭代函数,第一个参数是单个项目引用,第二个参数是迭代的当前索引。
7._.地图
Map 和 forEach 一样,遍历一个值数组。 另一方面,map 函数返回由 iterate 函数提供的新值数组。 我们使用的用户集合与此处的 forEach 示例中的用户集合相同。 我们可以使用 _.map 生成一个新变量,该变量具有所有用户全名的扁平数组。
8. _.差异
差异函数将生成一个新数组,该数组在第一个数组和第二个数组之间存在差异。 重要的是要注意论点的位置会影响结果。
9._.得到
_.get() 函数可以帮助我们在对象中定位元素。 如果在提供的路径中找不到元素,我们可以为 _.get() 函数设置默认值以返回。 _.get() 函数接受三个参数,第一个参数是我们希望从中获取元素的对象。 路径是第二个。 第三个值是我们想要在找不到元素时返回的默认值。
10. _.查找
_find() 函数可能看起来与 _.get() 方法相同。 _.find() 函数与 _.get() 方法一样,接受三个参数。 但是,与 _.get() 方法不同,第一个参数可以是数组或对象。 第二个参数指定将在每次迭代中调用的函数。 第三个输入是集合的开始索引。 因为 _.find() 函数遍历集合中的每个元素。
11._.groupBy
创建一个由函数结果(或随机选择的属性名称)命名的对象,每个值都是具有相同键的对象数组。
12. _.设置
_.set() 方法与 _.get() 方法相反。 它将改变给定路径上元素的值。 对象或数组是第一个参数,路径是第二个,要设置的值是第三个。
13. _.合并
它的功能类似于 Object.assign,除了它深入底层结构以更新更深的对象而不是替换它们。
14. ._去毛刺
这是一个相当简单的例子。 所有“组合变音标记”都被删除。 因此“é”变成了“e”。 当存在国际化和本地化时,对搜索功能的文本去毛刺是一种很好的做法。
15._.去抖动
这是最有效的 Lodash 策略之一。 也可能很难掌握它的作用以及何时应该使用它。 _.debounce() 方法返回一个函数。 _.debounce() 方法的函数将延迟调用,直到自上次调用该函数以来经过指定的毫秒数。
结论
Lodash 是 JavaScript 语言的强大扩展。 只需最少的努力,就可以构建简洁高效的代码。 Lodash 也是完全模块化的。 尽管它的一些功能最终可能会被弃用,但我相信它仍然会为开发人员带来许多好处,同时也会推动 JS 语言的发展。
我希望这几个 Lodash 功能可以帮助您了解 Lodash 在处理数组、对象和集合时的强大功能。 您可以访问 文件 探索它必须提供的大量其他选择。
发表评论