在筛选重复项时将对象数组拆分为多个对象数组可以通过以下步骤实现:
下面是一个示例代码:
function splitArrayByDuplicates(arr, property) {
const obj = {};
arr.forEach(item => {
const key = item[property];
if (!obj[key]) {
obj[key] = [item];
} else {
obj[key].push(item);
}
});
const duplicateArrays = Object.values(obj).filter(items => items.length > 1);
const result = duplicateArrays.map(items => {
return items.map(item => ({ ...item }));
});
return result;
}
// 示例用法
const originalArray = [
{ id: 1, name: 'A' },
{ id: 2, name: 'B' },
{ id: 3, name: 'C' },
{ id: 4, name: 'A' },
{ id: 5, name: 'D' },
{ id: 6, name: 'B' },
];
const splitArrays = splitArrayByDuplicates(originalArray, 'name');
console.log(splitArrays);
以上代码将根据对象数组中的"name"属性进行筛选,将重复项拆分为多个对象数组。在示例中,输出结果为:
[
[
{ id: 1, name: 'A' },
{ id: 4, name: 'A' }
],
[
{ id: 2, name: 'B' },
{ id: 6, name: 'B' }
]
]
这个方法可以帮助你在筛选重复项时将对象数组拆分为多个对象数组,适用于需要对重复项进行进一步处理或分组的场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云