当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


underscore.js _.groupBy用法及代码示例


Underscore.js_。groupBy()函数用于对传递的数组中的元素进行集合。它的工作原理是将每个元素的值与另一个元素进行匹配。如果它们匹配,则将它们放入一个集合中,否则我们将有 2 个集合/组。我们还可以传递一个函数,根据该函数的结果我们将收集元素。它既可以根据数字分组,也可以根据字符串分组。

用法:

_.groupBy( list, iterate, context );

参数:

  • 列表:该参数包含元素列表。
  • 迭代:该参数包含用于测试元素的条件。
  • 语境:它是用于显示的文本。它是一个可选参数。

返回值:

它将集合作为不同的数组返回。

在 _.groupBy() 函数中使用 Math.ceil():

_.groupBy() 函数从列表中一一获取元素,并将它们传递给 Math.ceil() 函数。然后函数的每个元素的输出将与 Math.ceil() 中另一个元素的输出匹配,然后它们被放入 1 个组,否则它们将被放入 2 个单独的组。当所有元素与所有其余元素匹配后,_.groupBy 函数结束。

例子:在此示例中,我们在 _.groupBy() 函数中使用 Math.ceil()。

html


<html>
<head>
    <script type="text/javascript" src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.groupBy([2.7, 3.4, 6.6, 1.2, 2.0, 2.4], function (num) {
            return Math.ceil(num);
        }));
    </script>
</body>
</html>

输出:

在 _.groupBy() 函数中使用 length():

将数组元素传递给 groupBy() 函数并根据元素的长度匹配元素。如果两个元素的长度相同,则它们将分为 1 组,否则将形成 2 组。

例子:在此示例中,我们在 _.groupBy() 函数中使用 length()。

html


<html>
<head>
    <script type="text/javascript" src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        console.log(_.groupBy(['HTML', 'CSS3', 'JS', 'PHP'], 'length'));
    </script>
</body>
</html>

输出:

使用 _.groupBy() 函数中传递的数组的属性:

首先,声明数组(这里数组是‘arr’)。选择一个需要检查的条件,如下‘prop3’。那么‘prop3’中具有相同值的元素将被分为1组。 Console.log最终答案。

例子:在此示例中,我们使用在 _.groupBy() 函数中传递的数组的属性。

html


<html>
<head>
    <script type="text/javascript" src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        let arr = [
            { prop1: "10", prop2: "07", prop3: "Geeks" },
            { prop1: "12", prop2: "86", prop3: "for" },
            { prop1: "11", prop2: "58", prop3: "Geeks" }
        ];
        console.log(_.groupBy(arr, 'prop3'));
    </script>
</body>
</html>

输出:

将 ‘date’ 作为数组的属性一起传递给 _.groupBy() 函数:

首先,定义一个具有一个属性的数组为 ‘date’,格式为“dd-mm-yy”。然后将数组和 ‘date’ 属性传递给 _.groupBy() 函数。具有相同日期的元素将被分为 1 组。组编号将从 0 开始。

例子:在此示例中,我们将 ‘date’ 作为数组的属性一起传递给 _.groupBy() 函数。

html


<html>
<head>
    <script type="text/javascript" src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js">
    </script>
</head>
<body>
    <script type="text/javascript">
        let orders = [
            { date: "30-60-90 Day", Name: "Kim", amount: 415 },
            { date: "30-60-90 Day", Name: "Kelly", amount: 175 },
            { date: "30 Day", Name: "Shelly", amount: 400 },
            { date: "30 Day", Name: "Sarvesh", amount: 180 }
        ];
        console.log(_.groupBy(orders, "date"));
    </script>
</body>
</html>

输出:



相关用法


注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js _.groupBy Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。