当我深入研究Javascript和React时,我发现自己越来越想知道可以使用哪些实用程序库来改善我的Javascript学习体验。 今天,我将讨论一个这样的库,Lodash。

Lodash是一个实用程序库。 这意味着它不是提供服务来充当更大的特定角色,而是提供了许多有用的模块化功能,用户可以按照他们认为合适的任何方式来使用它们。 通过扩展,库中任何给定的两个工具在使用中可能不会彼此直接相关。
Lodash的方法专门针对在基本级别上处理和操纵Javascript数据(例如字符串和数字)以及对象/数组。 这些工具将其封装在易于访问的方法迭代代码中,否则Javascript开发人员将不得不编写这些代码。 现在,我将概述许多有趣的Lodash方法:

Lodash.chunk()接受一个数组和一个参数n,并返回一个嵌套数组的数组。 初始数组的元素在新的嵌套数组之间划分,每个嵌套数组接收原始数组中的下n个元素,直到不再可用。 上面代码的返回值如下所示:

正如我们所看到的,由6个元素组成的单个数组已被平均分成两个每个由3个元素组成的子数组,这些元素按顺序分配。 如果包含第七个元素,那么将有第三个嵌套数组,其中仅包含一个元素,即第七个。

Lodash.remove()接受一个数组和一个谓词函数作为参数,并且将对原始数组进行变异以删除该谓词求值为真的所有元素:

尽管Lodash.remove()确实对原始数组进行了变异,但它返回的是删除的元素的数组,而不是修改后的原始数组。

Lodash.negate()是一种接收函数的方法。 Lodash.negate()评估传递的函数,并否定谓词函数的结果。 在这种情况下,虽然谓词在传递给Array.filter()时通常会返回[5,6,7]数组,但使用.negate()会使它改为返回以下内容:

如果需要检查先前功能的反向功能,则无需开发人员编写其他逻辑。

Lodash还包含许多专门用于对象的方法。 这样的例子就是Lodash.invert(),它接受一个对象并返回一个具有原始反转的键/值对的新对象。 上面的输出如下所示:

键和值已交换而未更改原始对象。

令我着迷的另一个Lodash对象方法是Lodash.pick()。 此方法接受一个对象和一个键数组,并将返回仅包含指定键/值对的新对象。 这大大简化了根据现有对象数据创建新对象所需的过程。 该方法输出如下:

与Lodash.invert()非常相似,这不会使原始对象变异。
这些只是Lodash库提供的许多有用方法中的极少数。 如果您有兴趣了解有关Lodash的更多信息,建议阅读官方文档。 您会发现文档既详尽又明确。
谢谢阅读!