在 JavaScript 中,可以使用以下方法为数组中的每个对象合并重复项并增加计数:
function mergeAndCountDuplicates(arr) {
// 创建一个空对象用于存储合并后的结果
const mergedObj = {};
// 遍历数组中的每个对象
arr.forEach(obj => {
// 将对象转换为字符串作为键名
const key = JSON.stringify(obj);
// 如果 mergedObj 中已经有该键名,则增加计数器;否则,将该对象存储为新的键名,并初始化计数器为 1
mergedObj[key] = (mergedObj[key] || 0) + 1;
});
// 将 mergedObj 转换为数组形式
const mergedArr = Object.entries(mergedObj).map(([key, count]) => ({
// 将键名字符串转换回对象
...JSON.parse(key),
count
}));
return mergedArr;
}
上述代码中的 mergeAndCountDuplicates
函数接受一个数组作为参数,并返回一个合并重复项并增加计数的新数组。该函数首先创建一个空对象 mergedObj
用于存储合并后的结果。然后,遍历数组中的每个对象,将对象转换为字符串作为键名 key
。如果 mergedObj
中已经有该键名,则增加计数器 count
;否则,将该对象存储为新的键名,并初始化计数器为 1。最后,将 mergedObj
转换为数组形式,并返回结果。
以下是对该函数的一些说明:
希望以上答案能够满足您的需求。如果还有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云