网站公告

本次更新:新公告样式

详细教程:vitepress.yiov.top

QQ 频道:******(无效二维码)

Skip to content

groupBy 数组元素分组

更新: 1970/1/1 字数: 0 字 时长: 0 分钟

说明

groupBy 是一个根据给定函数或属性对数组的元素进行分组的函数。它根据指定的函数或属性将数组中的元素分成不同的组,返回一个包含分组结果的对象。

参数

参数描述
arr需要分组的数组,类型为 Array<T>
key用于分组的函数或属性名。类型为 `(item: T) => string

返回值

  • 返回一个对象 Record<string | number, Array<T>>,其中键是分组的依据(可以是字符串或数字),值是属于该组的元素数组。

示例

javascript
import { groupBy } from 'uviewos';

// 示例数据
const arr = [
  { id: 1, category: 'A', value: 10 },
  { id: 2, category: 'B', value: 20 },
  { id: 3, category: 'A', value: 30 },
  { id: 4, category: 'B', value: 40 },
  { id: 5, category: 'A', value: 50 }
];

// 根据 category 属性分组
const groupedByCategory = groupBy(arr, 'category');
console.log(groupedByCategory);
// 输出:
// {
//   A: [
//     { id: 1, category: 'A', value: 10 },
//     { id: 3, category: 'A', value: 30 },
//     { id: 5, category: 'A', value: 50 }
//   ],
//   B: [
//     { id: 2, category: 'B', value: 20 },
//     { id: 4, category: 'B', value: 40 }
//   ]
// }

// 使用函数进行分组
const groupedByValue = groupBy(arr, item => item.value > 25 ? 'high' : 'low');
console.log(groupedByValue);
// 输出:
// {
//   low: [
//     { id: 1, category: 'A', value: 10 },
//     { id: 2, category: 'B', value: 20 }
//   ],
//   high: [
//     { id: 3, category: 'A', value: 30 },
//     { id: 4, category: 'B', value: 40 },
//     { id: 5, category: 'A', value: 50 }
//   ]
// }

Released under the MIT License.

本站访客数 人次 本站总访问量