最近疫情在家在家上网课,使用的是腾讯会议,老师要求统计签到人数和未到人员,拿着签到一个个对比实在麻烦,我就想能不能简单快速方便的进行对比呢,于是,我用到了JavaScript;
说到过滤我首先想到的是过滤方法filter(),但是人数比较多,在条件设定方面会比较麻烦;然后我使用了forEach()方法遍历数组进行对比,在要进行对比的遍历数组函数里面添加一个flag=true,遇到相同的元素时,就把flag改成false,flag再作为新数组添加元素的判定值。这样就实现了数组对比过滤。
document.querySelector('button').addEventListener('click',()=> {
signin = document.querySelector('#val').value.replace(/\s*/g,"")
fn()
})
function fn() {
const signinArr = signin.split(',')
nameArr.forEach(name => {
let flag = true
signinArr.forEach(sname =>{
if(name===sname){
flag = false
}
})
if(flag){
newArr.push(name)
}
})
console.log('未到人员',newArr);
document.querySelector('h2').innerHTML = `应到人数:${nameArr.length}<br><br>未到人数:${newArr.length}<br><br>未到人员:${newArr}`
}