以下是一个示例代码,演示如何按照对象的属性值将对象分组成数组:
// 原始对象数组
const objects = [
{ name: 'Alice', group: 'A' },
{ name: 'Bob', group: 'A' },
{ name: 'Charlie', group: 'B' },
{ name: 'David', group: 'C' },
{ name: 'Eve', group: 'B' }
];
// 创建一个空对象,用于存储分组后的数组
const groupedArrays = {};
// 遍历原始对象数组
objects.forEach(obj => {
// 获取当前对象的分组属性值
const group = obj.group;
// 如果分组属性值不存在于groupedArrays中,则创建一个新的数组
if (!groupedArrays[group]) {
groupedArrays[group] = [];
}
// 将当前对象添加到对应分组的数组中
groupedArrays[group].push(obj);
});
// 将groupedArrays转换为数组形式
const groupedArraysArray = Object.values(groupedArrays);
console.log(groupedArraysArray);
输出结果:
[
[
{ name: 'Alice', group: 'A' },
{ name: 'Bob', group: 'A' }
],
[
{ name: 'Charlie', group: 'B' },
{ name: 'Eve', group: 'B' }
],
[
{ name: 'David', group: 'C' }
]
]
在这个示例中,我们首先创建了一个空对象groupedArrays
,用于存储分组后的数组。然后,我们遍历原始对象数组objects
,对于每个对象,我们获取其分组属性值,并检查该分组是否已经存在于groupedArrays
中。如果不存在,则创建一个新的数组,然后将当前对象添加到对应分组的数组中。最后,我们通过Object.values
方法将groupedArrays
转换为数组形式,并打印输出结果。
上一篇:按属性值过滤对象数组
下一篇:按属性值将json对象分组排序