
判断数组中重复项并统计重复次数
在实际项目中,从后端获取的数组对象中,我们需要判断特定字段是否重复。比如根据其中的 "Data.NO" 来判断,并新建一个 "重复次数" 字段来显示重复的次数。
为了解决问题,我们可以使用以下方法:
以下是代码示例:
let 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
}
];
let newArr = [], list1 = [], i = 0;
let timer = setInterval(() => {
if(i === list.length) {
clearInterval(timer);
return;
}
// 模拟每3s后端返回一条数据
list1 = [list[i]];
i++;
fn(list1);
}, 3000);
function fn (arr) {
newArr = arr.reduce((s, v) => {
let index = s.findIndex(it => it.NO === v.NO);
index !== -1 ? s[index] = {...v, startTime: s[index].startTime,
endTime: getNowDate(), count: ++s[index].count} : s.push({...v, count: 1, startTime: getNowDate(), endTime: getNowDate()});
return s;
}, newArr);
console.log(newArr);
}
// 格式化日对象
const getNowDate = () => {
var date = new Date();
var sign2 = ":";
var year = date.getFullYear() // 年
var month = date.getMonth() + 1; // 月
var day = date.getDate(); // 日
var hour = date.getHours(); // 时
var minutes = date.getMinutes(); // 分
var seconds = date.getSeconds() //秒
var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];
var week = weekArr[date.getDay()];
// 给一位数的数据前面加 “0”
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (day >= 0 && day <= 9) {
day = "0" + day;
}
if (hour >= 0 && hour <= 9) {
hour = "0" + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = "0" + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = "0" + seconds;
}
return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;
}通过以上代码,我们可以遍历数组中的元素,根据 "Data.NO" 字段判断重复项,并在重复项中添加 "重複次數" 字段,统计重复的次数,并将其渲染到页面中。
立即学习“Java免费学习笔记(深入)”;
以上就是如何使用 JavaScript 统计数组中重复项的次数并更新元素属性?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号