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

📅  最后修改于: 2023-12-03 14:44:02.419000             🧑  作者: Mango

Lodash _.groupBy() 方法介绍

概述

_.groupBy()是Lodash库中的一个方法,用于将一个数组按照指定的属性分组。它接受两个参数,第一个参数是要操作的数组,第二个参数是一个回调函数,用于指定分组的属性。

用法

使用_.groupBy()方法需要加载Lodash库。可以使用npm或直接在HTML文件中引入CDN。

安装

使用npm安装Lodash库:

npm install lodash

在Node.js中使用:

const _ = require('lodash');
_.groupBy([...], function() {...});

在浏览器中使用CDN:

<script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.js"></script>
<script>
  _.groupBy([...], function() {...});
</script>
代码示例

以下示例演示如何将一个由人员信息组成的数组按照性别分组。回调函数接收一个参数,即数组中的一项,返回该项中用于分组的属性。

const _ = require('lodash');
const data = [
  { name: 'Alice', gender: 'female' },
  { name: 'Bob', gender: 'male' },
  { name: 'Charlie', gender: 'male' },
  { name: 'David', gender: 'male' },
  { name: 'Eve', gender: 'female' }
];
const groupedData = _.groupBy(data, function(person) {
  return person.gender;
});
console.log(groupedData);
// Output:
// {
//   female: [
//     { name: 'Alice', gender: 'female' },
//     { name: 'Eve', gender: 'female' }
//   ],
//   male: [
//     { name: 'Bob', gender: 'male' },
//     { name: 'Charlie', gender: 'male' },
//     { name: 'David', gender: 'male' }
//   ]
// }
参数

_.groupBy()方法接受两个参数:

  • collection (Array|Object): 要分组的数组或对象。
  • [iteratee=_.identity] (Function|string): 用于指定分组的属性。可以是一个回调函数,也可以是一个对象的属性名。
返回值

_.groupBy()方法返回一个新对象,其中的每个属性都是由分组得到的键,对应的值是一个包含符合该组的元素的数组。如果collection参数为空或未传入,则返回一个空对象。

总结

_.groupBy()方法是Lodash库中的一个实用工具,可以方便地对数组或对象进行分组。它的高度灵活性和易用性使得我们可以快速、方便地处理数据,提高开发效率。