
如何判断数组对象的重复数据并统计重复次数?
给定一个数组对象,其中包含多个数据项,每个数据项都有一个唯一的字段”NO”。需要根据”NO”字段判断是否存在重复数据,并为每个数据项添加一个新的字段”重复次数”来显示重复的次数。
以下是一个代码示例,演示如何实现这一功能:
const list = [
{
DF: 343,
Fstep: 0.2,
NO: 1004
},
{
DF: 344,
Fstep: 0.2,
NO: 1005
},
{
DF: 345,
Fstep: 0.2,
NO: 1004
},
{
DF: 346,
Fstep: 0.2,
NO: 1004
},
{
DF: 347,
Fstep: 0.2,
NO: 1006
},
{
DF: 348,
Fstep: 0.2,
NO: 1005
}
];
const result = list.reduce((s, v) => {
const index = s.findIndex((it) => it.NO === v.NO);
if (index !== -1) {
s[index] = {
...v,
startTime: s[index].startTime,
endTime: getNowDate(),
count: ++s[index].count
};
} else {
s.push({
...v,
count: 1,
startTime: getNowDate(),
endTime: getNowDate()
});
}
return s;
}, []);
console.log(result);
登录后复制
此代码对数组对象进行了循环,使用reduce方法将重复的数据项合并并更新count字段的值。
以上就是如何判断数组对象中的重复数据并统计重复次数?的详细内容,更多请关注米云其它相关文章!
