以下是一个示例代码,演示如何按照对象数组的属性进行拆分:
// 原始对象数组
const originalArray = [
{ name: 'Alice', age: 20, gender: 'female' },
{ name: 'Bob', age: 25, gender: 'male' },
{ name: 'Charlie', age: 30, gender: 'male' },
{ name: 'David', age: 35, gender: 'male' },
{ name: 'Eve', age: 40, gender: 'female' }
];
// 以 gender 属性拆分对象数组
const splitByGender = originalArray.reduce((result, obj) => {
const gender = obj.gender;
if (!result[gender]) {
result[gender] = [];
}
result[gender].push(obj);
return result;
}, {});
console.log(splitByGender);
运行以上代码将输出以下结果:
{
female: [
{ name: 'Alice', age: 20, gender: 'female' },
{ name: 'Eve', age: 40, gender: 'female' }
],
male: [
{ name: 'Bob', age: 25, gender: 'male' },
{ name: 'Charlie', age: 30, gender: 'male' },
{ name: 'David', age: 35, gender: 'male' }
]
}
以上代码使用了Array.reduce()
方法来迭代原始对象数组,根据每个对象的gender
属性将其拆分到不同的数组中。如果某个gender
属性对应的数组尚未创建,则首先创建一个空数组,然后将当前对象推入该数组中。最终生成的对象splitByGender
包含了按gender
属性拆分的结果。
上一篇:按属性标题过滤的数据表
下一篇:按属性存在性对数组进行排序