下划线.js | groupBy() 与示例
Underscore.js 是一个 JavaScript 库,它提供了许多有用的功能,即使不使用任何内置对象,也可以在很大程度上帮助编程,例如映射、过滤器、调用等。
_.groupBy()函数用于对传递的数组中的元素进行集合。它的工作原理是将每个元素的值与另一个元素相匹配。如果它们匹配,则将它们放在一个集合中,否则我们将有 2 个集合/组。我们还可以根据谁的结果传递一个函数,我们将收集元素。它既可以按数字分组,也可以按字符串分组。
句法:
_.groupBy( list, iteratee, context )
参数:该函数接受上面提到和下面描述的三个参数:
- List:该参数包含元素列表。
- Iteratee:此参数包含用于文本元素的条件。
- 上下文:它是用于显示的文本。它是可选参数。
返回值:它将集合作为不同的数组返回。
在 _.groupBy()函数中使用 Math.ceil() : _.groupBy()函数从列表中一一获取元素并将其传递给 Math.ceil()函数。然后函数的每个元素输出将与 Math.ceil() 中另一个元素的输出匹配,然后将它们放在 1 组中,否则它们将在 2 个单独的组中。在所有元素与所有其余元素匹配后,_.groupBy函数结束。
例子:
输出:
在 _.groupBy()函数使用 length() :将数组元素传递给 groupBy()函数并根据它们的长度匹配元素。如果两个元素的长度相同,则它们将被分组为 1 组,否则将形成 2 组。
例子:
输出:
使用传入_.groupBy()函数的数组属性:首先,声明数组(这里数组是'arr')。选择一种需要检查的条件,如此处的“prop3”。然后,'prop3' 中具有相同值的元素将被归为 1 组。 Console.log 最终答案。
例子:
输出:
将 'date' 作为数组的属性一起传递给 _.groupBy()函数:首先定义一个数组,其中一个属性为 'dd-mm-yy' 格式的 'date'。然后将数组和 'date' 属性传递给 _.groupBy()函数。具有相同日期的元素将被归为 1 组。组编号将从 0 开始。
例子:
输出: