[NodeJs]如何用NodeJs查查谁没交作业
[NodeJs]查查谁没交作业?看看这里就够了
网课大背景之下,很多作业都需要通过电子版交上,但有些时候,明明知道份数不对,却还要一份份去核查到底是谁没有交,十分繁琐;为什么不能运用一下NodeJs,来做一个查阅的小工具呢?
废话不多说,进入正题
适用范围
- 电子版文件
- 统一格式(姓名类的也要统一)
- 将所有作业文件放在同一个文件夹之下
目录设置
- 适用范围
- 正文
- 试用
- 代码全览
正文
因为基于
nodejs
,所以需要安装node运行环境。(如果您还没有安装,点击这里去Nodejs中文网)
首先,我们这次要用到fs模块,先引入。
创建学生名字的数组,创建格式名的字符串变量。
声明一个新数组,将原数组学生名字和格式名进行拼接。
- (如果您前面有班级名,可以直接声明一个字符串变量如
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;
});
使用fs文件系统的
readdir
异步方法,来读取指定目录下的文件名。(我的目录如下)
写一个数组的比较方法,我的数组比较方法
ArrTest()
,其原理就是检测有没有下标为-1的元素,如果有的话,说明-1的元素是缺失的,那么就返回;如果没有就会返回一个空数组。在 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查查谁没交作业相关推荐
- python实现自动化查谁没交作业
作为一个学委总是被查谁没交作业这种事所困扰,今天下午没课就打算写一个小程序帮我自动化查谁没交作业,并且根据助教的需求添加一个序号方便批改作业 刚开始想着是用java写的,因为想做个可视化窗口,但是g ...
- 计算机课给别人交作业检讨书,没交作业检讨书500字范文
没交作业检讨书500字范文 学生一次忘记写作业或者忘记交作业的行为是可以原谅的,但是有些同学是刻意不写也不交,这种行为不但违反纪律,还是对自己的不负责任,来看下面小编为大家带来的没交作业检讨书500字 ...
- 计算机辅助设计没交作业,计算机辅助设计作业要求
<计算机辅助设计>大作业要求 一. 二维绘图练习 卡通画设计.图案设计,例如公园的小景,校园小花园,群山中的小村庄.LOGO等,要求新颖美观,真实感强.1:1打印,打印时充分利用图纸幅面, ...
- 如何用gitee的pull request交作业?网页端5步轻松完成
有的老师喜欢用gitee接收学生的作业,这对于没用过的同学来说令人头大,而百度的一些方法还需要下载各种工具,很烦,下面分享一下在网页端pull request的方法,5步轻松搞定. 1. 找到老师的项 ...
- VLOOKUP查找未交作业的学生
一.现有一份名单 已有交了作业的学生的名单,大概有20个学生的样子,但不知道哪些顽固份子还没交.于是先把名单放到了excel表,排列如下: 二.使用excel的VLOOKUP函数 1. 还需要一份完整 ...
- 读取文件夹内的文件名来检查哪个学生没有交作业
这学期导师让我当助教,帮忙收发作业,统计作业信息.总是有人不按时交,一个一个查不好排查,就想到了写个程序检查.挺好用的哈哈,机智如我呼呼呼~ 让学生统一命名成了'学号_姓名_第几次作业',这样在获得文 ...
- 用python检查班上同学交作业的情况
当你作为班干时,收电子档的作业会让你十分的烦恼 不是这个鬼仔没交就是那个没交,为了解决这个烦恼 便有了下面的代码 import os import regz = ['小明', '小陈', '小东'] ...
- Nodejs - 如何用 eventproxy 模块控制并发
本文目标 本文的目标是获取 ZOJ 1001-1010 每道题 best solution 的作者 id,取得数据后一次性输出在控制台. 前文 如何用 Nodejs 分析一个简单页面 我们讲了如何用 ...
- NodeJs:用 nodejs + edge + ejs + c#,打造属于自己的代码生成器
背景 自从第一次接触代码生成器,就爱上她了.用过ComeSmith和T4,这些代码生成器确实很优秀,为何我还要DIY自己的呢?有如下几点理由: T4的元数据定义太麻烦,还要定义强类型的元数据类型. 一 ...
最新文章
- ViewPager的使用小技巧
- 【IEEE】2020 年AI's 10 To Watch名单新鲜出炉!MIT韩松、方飞、张含望等华人入选!...
- 更改系统的默认安装路径
- python 最小二乘法三维坐标拟合平面_matlab三维曲面进行平面拟合,利用最小二乘法...
- Spring+Quartz实现定时任务
- 打印机设置虚拟服务器,虚拟机打印机服务器设置
- UVa 11468 (AC自动机 概率DP) Substring
- 二元查找树的后序遍历结果
- LeetCode 第 20 场双周赛(294 / 1541,前19.07%,第1次全部通过)
- 年度总结 是不公平和智障的产物
- (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)
- SpringMVC 异步交互 AJAX 文件上传
- 详细对比9门主流编程语言
- mysql 子查询空_mysql的子查询
- 102 二叉树层序遍历Binary Tree Level Order Traversal @ Python
- BLENDER快捷键(个人防止忘记的几个快捷键)
- 深度优先遍历,广度优先遍历
- 程序员的悲哀是什么?
- 柳絮飘,往事忆:前言
- 怎样在网站中添加google统计代码