Lodash_.chain() 方法

2025年3月18日 | 阅读时长 4 分钟

什么是 Lodash?

Lodash 是一个 JavaScript 库,它包含大量内置函数,为开发者提供实用功能和更多增强功能。它基于 underscore.js 库构建。

Lodash._chain() 方法

此方法用于包装方法链序列返回的值,并返回方法链的精确包装值。

方法链的概念

如果我们想一个接一个地执行多个操作,并且一个操作的输入依赖于前一个操作的输出,那么我们就使用了 Lodash 库提供的链式方法概念。

方法链是指在一对象上连续调用多个函数。这样,代码流程看起来像一句话,有时也称为方法级联。

方法链的开发是为了避免嵌套方法造成的混淆和复杂性。如果我们想对一个对象或数组执行多个函数,那么我们也可以使用嵌套方法,其中一个函数包含另一个函数,依此类推。

语法

这是该函数接受的单个参数,它包含我们想使用此函数包装的值。

返回值

此函数将返回作为参数传递的实际值的包装值。

让我们通过一些例子来更好地理解这个方法。

示例 1

JavaScript 代码

输出

['Gopal earns 410', 'Ayush earns 2600', 'Shivani earns 2600', 'Ankit earns 3200', 'Anjali earns 3896', 'Mansi earns 5000']

说明

在上面的 JavaScript 代码中,我们首先使用 require 关键字导入了 Lodash 库。然后我们创建了一个对象数组,其中每个索引都有两个字段值:一个是 userName,另一个是 income,类型为整数。

现在,我们想根据收入的升序为每个索引打印语句。所以,我们对 friend 对象使用了 _.chain() 方法,并应用了第一个 sortBy() 方法来根据收入对它们进行排序。然后我们使用了 .map 函数来迭代对象,并为每个值打印了一些语句,最后,我们应用了 .value() 函数。

因此,由于在对象上应用了多个函数,我们使用了 _.chain() 方法。

示例 2

JavaScript 代码

输出

['Ayush is 21 year old', 'Shivani is 21 year old', 'Mansi is 22 year old', 'Ankit is 23 year old', 'Gopal is 24 year old']

说明

在上面的 JavaScript 代码中,我们首先使用 require 关键字导入了 Lodash 库。然后我们创建了一个对象数组,其中每个索引都有两个字段值:一个是 userName,另一个是 age,类型为整数。

我们对对象应用了 _.chain() 方法,并使用 sortBy() 方法按升序对它们进行排序。现在我们应用 .map() 函数来获取对象的每个值并为每个值创建一些语句。然后我们使用了 .tail() 方法,它将删除数组的第一个元素并返回剩余的值。因此,在删除第一个元素后,我们应用了 .value() 函数并将结果数组分配给一个变量。

现在,我们使用 console.log() 打印了结果数组。我们可以清楚地看到,“Anjali”的年龄最小,所以它是排序数组中的第一个元素,但我们使用 tail() 方法将其删除了。

我们使用 ._chain() 方法的原因是我们在对象上应用了多个函数,例如:

sortBy() 方法、map() 方法、tail() 方法和 value() 方法。