[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. ViewPager的使用小技巧
  2. 【IEEE】2020 年AI's 10 To Watch名单新鲜出炉!MIT韩松、方飞、张含望等华人入选!...
  3. 更改系统的默认安装路径
  4. python 最小二乘法三维坐标拟合平面_matlab三维曲面进行平面拟合,利用最小二乘法...
  5. Spring+Quartz实现定时任务
  6. 打印机设置虚拟服务器,虚拟机打印机服务器设置
  7. UVa 11468 (AC自动机 概率DP) Substring
  8. 二元查找树的后序遍历结果
  9. LeetCode 第 20 场双周赛(294 / 1541,前19.07%,第1次全部通过)
  10. 年度总结 是不公平和智障的产物
  11. (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)
  12. SpringMVC 异步交互 AJAX 文件上传
  13. 详细对比9门主流编程语言
  14. mysql 子查询空_mysql的子查询
  15. 102 二叉树层序遍历Binary Tree Level Order Traversal @ Python
  16. BLENDER快捷键(个人防止忘记的几个快捷键)
  17. 深度优先遍历,广度优先遍历
  18. 程序员的悲哀是什么?
  19. 柳絮飘,往事忆:前言
  20. 怎样在网站中添加google统计代码

热门文章

  1. Flink CEP编程
  2. 卫健委:2018年全国儿童青少年总体近视率为53.6%
  3. 中外企业文化杂志中外企业文化杂志社中外企业文化编辑部2022年第11期目录
  4. 【机器学习算法】Logistic回归分类算法
  5. CTF—攻防练习之HTTP—暴力破解
  6. 【小强推歌】---邓丽君演绎古词专集《淡淡幽情》
  7. 3.4Python之对象数据库ZODB
  8. 一文了解 NebulaGraph 上的 Spark 项目
  9. 昨天喜茶,今天乐乐茶
  10. python 写字机器人_中文英语是什么