[NodeJs]查查谁没交作业?看看这里就够了

  • 网课大背景之下,很多作业都需要通过电子版交上,但有些时候,明明知道份数不对,却还要一份份去核查到底是谁没有交,十分繁琐;为什么不能运用一下NodeJs,来做一个查阅的小工具呢?

  • 废话不多说,进入正题

适用范围

  • 电子版文件
  • 统一格式(姓名类的也要统一)
  • 将所有作业文件放在同一个文件夹之下

目录设置

  • 适用范围
  • 正文
  • 试用
  • 代码全览

正文

  1. 因为基于nodejs,所以需要安装node运行环境。(如果您还没有安装,点击这里去Nodejs中文网)

  2. 首先,我们这次要用到fs模块,先引入。

  3. 创建学生名字的数组,创建格式名的字符串变量。

  4. 声明一个新数组,将原数组学生名字和格式名进行拼接。

  • (如果您前面有班级名,可以直接声明一个字符串变量如 let classname = "软工1801",然后将some方法里的 item + type 更改为 classname + item + type,其他特殊格式比如 - 空格 也同理)
const fs = require('fs');const stu = ['张三','李四','王五'];const type = '.txt';let NewStu = [];stu.some((item ,index) => {NewStu[index] = item + type;
});
  1. 使用fs文件系统的 readdir 异步方法,来读取指定目录下的文件名。(我的目录如下)

  2. 写一个数组的比较方法,我的数组比较方法 ArrTest(),其原理就是检测有没有下标为-1的元素,如果有的话,说明-1的元素是缺失的,那么就返回;如果没有就会返回一个空数组。

  3. 在 readdir 方法的回调函数中,调用ArrTest()方法,在此方法的回调方法里,来判断一下返回的结果,如果有则输出文件名,如果没有则输出特定语句。

fs.readdir('./作业/',(err,data) => {if(err)throw err;ArrTest(NewStu, data, result => {if(result.length > 0){console.log('缺失内容:');console.log(result);}else{console.log('作业交齐啦!');}})
})function ArrTest(stu,homework,callback){let back = stu.filter(x => homework.indexOf(x) == -1);callback(back);
}

试用

  • 现在是交齐的状态,尝试一下

  • 现在是缺失的状态,再次尝试

  • 大功告成了!

代码全览

const fs = require('fs');const stu = ['张三','李四','王五'];const type = '.txt';let NewStu = [];stu.some((item ,index) => {NewStu[index] = item + type;
});fs.readdir('./作业/',(err,data) => {if(err)throw err;ArrTest(NewStu, data, result => {if(result.length > 0){console.log('缺失内容:');console.log(result);}else{console.log('作业交齐啦!');}})
})function ArrTest(stu,homework,callback){let back = stu.filter(x => homework.indexOf(x) == -1);callback(back);
}

创作不易,欢迎点赞评论转发

[NodeJs]如何用NodeJs查查谁没交作业相关推荐

  1. python实现自动化查谁没交作业

    作为一个学委总是被查谁没交作业这种事所困扰,今天下午没课就打算写一个小程序帮我自动化查谁没交作业,并且根据助教的需求添加一个序号方便批改作业 ​刚开始想着是用java写的,因为想做个可视化窗口,但是g ...

  2. 计算机课给别人交作业检讨书,没交作业检讨书500字范文

    没交作业检讨书500字范文 学生一次忘记写作业或者忘记交作业的行为是可以原谅的,但是有些同学是刻意不写也不交,这种行为不但违反纪律,还是对自己的不负责任,来看下面小编为大家带来的没交作业检讨书500字 ...

  3. 计算机辅助设计没交作业,计算机辅助设计作业要求

    <计算机辅助设计>大作业要求 一. 二维绘图练习 卡通画设计.图案设计,例如公园的小景,校园小花园,群山中的小村庄.LOGO等,要求新颖美观,真实感强.1:1打印,打印时充分利用图纸幅面, ...

  4. 如何用gitee的pull request交作业?网页端5步轻松完成

    有的老师喜欢用gitee接收学生的作业,这对于没用过的同学来说令人头大,而百度的一些方法还需要下载各种工具,很烦,下面分享一下在网页端pull request的方法,5步轻松搞定. 1. 找到老师的项 ...

  5. VLOOKUP查找未交作业的学生

    一.现有一份名单 已有交了作业的学生的名单,大概有20个学生的样子,但不知道哪些顽固份子还没交.于是先把名单放到了excel表,排列如下: 二.使用excel的VLOOKUP函数 1. 还需要一份完整 ...

  6. 读取文件夹内的文件名来检查哪个学生没有交作业

    这学期导师让我当助教,帮忙收发作业,统计作业信息.总是有人不按时交,一个一个查不好排查,就想到了写个程序检查.挺好用的哈哈,机智如我呼呼呼~ 让学生统一命名成了'学号_姓名_第几次作业',这样在获得文 ...

  7. 用python检查班上同学交作业的情况

    当你作为班干时,收电子档的作业会让你十分的烦恼 不是这个鬼仔没交就是那个没交,为了解决这个烦恼 便有了下面的代码 import os import regz = ['小明', '小陈', '小东'] ...

  8. Nodejs - 如何用 eventproxy 模块控制并发

    本文目标 本文的目标是获取 ZOJ 1001-1010 每道题 best solution 的作者 id,取得数据后一次性输出在控制台. 前文 如何用 Nodejs 分析一个简单页面 我们讲了如何用 ...

  9. NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器

    背景 自从第一次接触代码生成器,就爱上她了.用过ComeSmith和T4,这些代码生成器确实很优秀,为何我还要DIY自己的呢?有如下几点理由: T4的元数据定义太麻烦,还要定义强类型的元数据类型. 一 ...

最新文章

  1. CentOS 7.x 远程重装
  2. (0011) iOS 开发之模拟HTTP请求与响应,返回自己想要的报文。
  3. bootstrap基础
  4. 优先级队列用的的数据结构
  5. 开源操作系统年度盛会最新日程曝光,邀您一同开启烧脑模式!
  6. 服务器应用层次划分,服务器按应用层次划分的话可以分为哪几种?
  7. node项目报错had too many unstable restarts (16). Stopped. “errored”
  8. 农历中的 闰月 与 公历中的 闰日
  9. 微信实现电脑远程关机
  10. C++练习 - 字符转换
  11. 用JAVA时间类计算今天到指定日期的天数统计
  12. 军事训练飞机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. Java实现无向连通图中的“割点”问题
  14. 评测TFN F4 高性能OTDR光时域反射仪性能
  15. 在ubuntu 上搭建Nginx-RTMP 直播服务器
  16. android手机绘图软件,手机绘画软件(MediBang Paint Tablet)
  17. Spark系列之Spark在不同集群中的架构
  18. 转Draren总结的ollydbg v1.09d 中文版使用说明
  19. 底什么是伪静态?为什么要做伪静态?
  20. 后端接口并行调用方案

热门文章

  1. mysql详细安装步骤图解
  2. 关于接口与抽象类的感悟
  3. toDoList最简单待办事项案例的实现
  4. 世界级的客户服务:当今公司的正确行事
  5. String StringBuffer StringBuilder区别与联系
  6. android 快速开发工具类,android面试知识点
  7. Matlab 统计数组中各数字(元素)出现的次数
  8. rz安装 xshell_文件上传命令rz和下载命令sz的安装
  9. Redis操作 入门个人总结
  10. PDMS.NET_执行PDMS命令