📅  最后修改于: 2023-12-03 15:21:29.289000             🧑  作者: Mango
在 JavaScript 中,groupBy() 方法主要用于将一个数组按照某个属性分类,生成新的数组。
我们可以使用下划线.js 库中的 groupBy() 方法来实现。
下面是一个示例,通过对一组汽车对象进行 groupBy() 分类,对所有汽车按照品牌进行分类:
const _ = require('underscore');
const cars = [
{ make: 'Audi', model: 'A4', year: '2018' },
{ make: 'BMW', model: 'M3', year: '2017' },
{ make: 'Audi', model: 'S5', year: '2019' },
{ make: 'Mercedes', model: 'C350', year: '2018' }
];
const groupedCars = _.groupBy(cars, 'make');
console.log(groupedCars);
返回结果:
{
Audi: [
{ make: 'Audi', model: 'A4', year: '2018' },
{ make: 'Audi', model: 'S5', year: '2019' }
],
BMW: [ { make: 'BMW', model: 'M3', year: '2017' } ],
Mercedes: [ { make: 'Mercedes', model: 'C350', year: '2018' } ]
}
在上面的代码中,我们使用了 Underscore.js 库中的 groupBy() 方法,将汽车数组按照品牌进行分类,生成一个新的对象。在该对象中,每个品牌都是一个属性,属性值是一个数组,其中包含了该品牌的汽车对象。
在 JavaScript 中,groupBy() 方法的语法如下:
_.groupBy(list, iteratee, [context])
其中:
以上是 groupBy() 方法的语法和使用方法。
我们学习了在 JavaScript 中使用下划线.js 库的 groupBy() 方法对数组进行分类的示例,以及它的语法和参数的介绍。
groupBy() 方法可以根据指定的属性将数组分组为一个新的对象,该对象包含分组后的所有项的键(属性名)和元素的值(数组形式)。
如果你的项目需要处理数组并且需要按照某个属性进行分类,这个方法将会是非常有用的。