在JavaScript中,可以使用以下步骤删除数组中的重复对象,并计算重复出现的次数:
步骤1:创建一个空对象和一个空数组。
let obj = {};
let result = [];
步骤2:遍历数组,将数组中的每个对象作为键存储在空对象中,并将对应的值设置为该对象在数组中出现的次数。
for (let i = 0; i < array.length; i++) {
let item = array[i];
obj[item] = obj[item] ? obj[item] + 1 : 1;
}
步骤3:遍历空对象,将每个键值对转换为一个新的对象,并将该对象添加到空数组中。
for (let key in obj) {
let newObj = {};
newObj[key] = obj[key];
result.push(newObj);
}
最终,result
数组中的每个对象表示原始数组中的一个不重复的对象,且包含该对象在原始数组中出现的次数。
以下是一个完整的示例代码:
function removeDuplicatesAndCount(array) {
let obj = {};
let result = [];
for (let i = 0; i < array.length; i++) {
let item = array[i];
obj[item] = obj[item] ? obj[item] + 1 : 1;
}
for (let key in obj) {
let newObj = {};
newObj[key] = obj[key];
result.push(newObj);
}
return result;
}
let array = [1, 2, 3, 2, 1, 3, 4, 5, 4, 6];
let uniqueObjects = removeDuplicatesAndCount(array);
console.log(uniqueObjects);
这段代码将输出以下结果:
[
{ '1': 2 },
{ '2': 2 },
{ '3': 2 },
{ '4': 2 },
{ '5': 1 },
{ '6': 1 }
]
对于这个问题,腾讯云没有特定的产品或链接与之相关。
领取专属 10元无门槛券
手把手带您无忧上云