📅  最后修改于: 2023-12-03 15:05:43.345000             🧑  作者: Mango
在开发中,我们有时需要将一个数组按照某个属性进行分组。这时候,我们可以使用Underscore.js函数库中的 _.groupBy函数。
_.groupBy函数是Underscore.js中的一个高阶函数,它可以将一个集合中的数据按照指定的规则进行分组。它的语法如下:
_.groupBy(list, iterator, context)
参数说明:
_.groupBy函数的几个特性如下:
下面是一个示例,展示如何使用_.groupBy函数:
var data = [
{name: 'james', age: 28},
{name: 'david', age: 28},
{name: 'mike', age: 27},
{name: 'susan', age: 25},
{name: 'mary', age: 27},
];
var result = _.groupBy(data, 'age');
console.log(result);
上面的代码中,我们有一个数组data,其中包含有5个人的信息。我们将数据按照年龄进行分组,然后将结果打印出来。结果如下:
{
"25": [{"name":"susan","age":25}],
"27": [{"name":"mike","age":27},{"name":"mary","age":27}],
"28": [{"name":"james","age":28},{"name":"david","age":28}]
}
可以看出,我们将数据按照年龄进行了分组,每个键名代表了一组数据的年龄,键值是符合该年龄的人的信息组成的数组。
在使用_.groupBy函数时需要注意以下几点:
_.groupBy函数是Underscore.js中的一个高阶函数,可以方便快捷地将一个集合按照指定规则进行分组。它的特性包括:list参数可以是任意的JavaScript对象类型,iterator可以是不同类型,返回的结果以对象形式返回。在使用时需要注意参数传递和iterator函数的正确性。