📜  Lodash _.takeRightWhile() 方法(1)

📅  最后修改于: 2023-12-03 15:32:44.917000             🧑  作者: Mango

Lodash _.takeRightWhile() 方法

Lodash 是一个流行的、使用频率高的 JavaScript 工具库,为开发者提供了丰富的函数和方法来简化常见任务。其中,_.takeRightWhile() 方法能够从指定数组的最后一个元素开始提取元素,直到传递的测试函数返回 false。在本文中,我们将详细介绍这个方法以及它的使用方法。

函数语法

_.takeRightWhile(array, [predicate=_.identity])

参数说明
  • array (Array): 需要查询的数组。
  • [predicate=_.identity] (Function): 函数用来检查数组中的元素,返回 false 表示提取结束。接受三个参数:(value, index, array)。
返回值

返回新提取的数组片段,从指定数组的最后一个匹配元素开始。与 _.takeWhile() 方法类似,但是从数组的末尾开始运行。

代码示例
const users = [
  { 'user': 'barney',  'active': false },
  { 'user': 'fred',    'active': false },
  { 'user': 'pebbles', 'active': true }
];

_.takeRightWhile(users, function(o) { return !o.active; });
// => objects for ['fred', 'barney']

// The `_.matches` iteratee shorthand.
_.takeRightWhile(users, { 'user': 'pebbles', 'active': true });
// => objects for ['pebbles']

// The `_.matchesProperty` iteratee shorthand.
_.takeRightWhile(users, ['active', false]);
// => objects for ['fred', 'barney']

// The `_.property` iteratee shorthand.
_.takeRightWhile(users, 'active');
// => objects for []
代码解析

在上面的示例代码中,我们定义了一个包含三个对象的数组 users,然后使用 _.takeRightWhile() 方法基于不同的断言条件提取了数组的不同片段。接下来,我们来分析一下这些例子。

示例 1
_.takeRightWhile(users, function(o) { return !o.active; });
// => objects for ['fred', 'barney']

在这个示例中,我们传递了一个函数作为第二个参数。该函数的作用是检查是否还有未被遍历的未激活的用户。因此,我们得到的结果数组中只包含了 ['fred', 'barney'] 两个对象。

示例 2
_.takeRightWhile(users, { 'user': 'pebbles', 'active': true });
// => objects for ['pebbles']

在这个示例中,我们传递了一个 JavaScript 对象作为第二个参数。这被称为 _.matches 迭代器简写,它提供了一种直接比较对象属性的便捷方式。由于存在一名活跃用户,因此我们只得到一个 ['pebbles'] 对象的数组片段。

示例 3
_.takeRightWhile(users, ['active', false]);
// => objects for ['fred', 'barney']

在这个示例中,我们使用了 _.matchesProperty 迭代器简写,该简写接受一个数组,其中包含用于比较属性的键和值。在本例中,我们筛选出了所有未激活的用户,因此得到了一个包含两个对象的数组片段 ['fred', 'barney']

示例 4
_.takeRightWhile(users, 'active');
// => objects for []

在这个示例中,我们只对用户数组执行一个 JavaScript 中单独的属性名的迭代器简写,该名为 _.property。在本例中,由于所有用户都是允许的,我们获得空的数组片段 []

小结

_.takeRightWhile() 方法是 Lodash 库中的一个实用函数,它可以用于过滤数组。在本文中,我们深入了解了该函数的参数、输出格式以及一些简单的示例,它们可以大大提高您的 JavaScript 编程效率。如果您需要任何帮助或有任何问题,请随时联系 Lodash 社区或支持人员。