b站黑马JavaScript的Node.js案例代码——考试成绩整理案例

目录

目标效果:

重点原理:

1.js中split方法——转换字符串为数组

2.js中forEach方法——遍历数组中每个对象

3.js数组操作中push方法——添加1/多个元素去数组的末尾

4.js数组操作中replace方法——在字符串中用一些字符替换另一些字符

5.js数组操作中join方法

6.js中/windows中——\r和\n

cmd终端中:

1.打印arrOld时/arrOld中:

2.打印arrNew时/arrNew中:

3.打印newStr时/newStr中:

代码部分:

整理成绩.js中(全是重点)


目标效果:

1.已有一个成绩.txt文件,里面的内容:

小红=99 小白=100 小黄=70 小黑=66 小绿=88

2.需要用Node.js中的fs.readFile()来获取成绩.txt文件里面的内容,然后经过处理,将处理过后的内容用Node.js中的fs.writeFile()写入到新的txt文件 成绩-ok.txt中

成绩-ok.txt中的内容:

小红:99
小白:100
小黄:70
小黑:66
小绿:88

重点原理:

1.js中split方法——转换字符串为数组

2.js中forEach方法——遍历数组中每个对象

3.js数组操作中push方法——添加1/多个元素去数组的末尾

4.js数组操作中replace方法——在字符串中用一些字符替换另一些字符

 

5.js数组操作中join方法

6.js中/windows中——\r和\n

\r 表示  回车

\n 表示  换行

cmd终端中:

1.打印arrOld时/arrOld中:

2.打印arrNew时/arrNew中:

3.打印newStr时/newStr中:

代码部分:

整理成绩.js中(全是重点)

// 1. 导入 fs 模块
const fs = require('fs');

// 2. 调用 fs.readFile() 读取文件的内容
//    参数1:读取文件的存放路径
//    参数2:(可选)读取文件时候采用的编码格式,一般默认指定 utf8
//    参数3:回调函数,拿到读取失败的结果err 和 成功的结果dataStr
fs.readFile('./成绩.txt', 'utf8', function (err, dataStr) {
  // 3. 判断是否读取成功
  if (err) {
    // 3.1 打印失败的结果err
    // 如果读取成功,则 err 的值为 null
    // 如果读取失败,则 err 的值为 错误对象,dataStr 的值为 undefined
    return console.log('读取文件失败' + err.message);
  }
  // 3.2 打印成功的结果dataStr
  //  console.log('读取文件成功'+dataStr);
  // 4.1 先把成绩的数据,按照空格进行分割
  const arrOld = dataStr.split(' ');//!!!''中记得加一个空格
  // console.log(arrOld);
  // 4.2 循环分割后的数组,对每一项数据,进行字符串的替换操作
  const arrNew = [];//新建一个空数组arrNew
  //(1)用forEach(),遍历arrOld的每个数组元素
  arrOld.forEach(function (item) {//item指每个数组元素
    //(2)用push(),将遍历得出的结果,追加到arrNew数组中
    //(3)用replace(‘被替换的’,‘替换为的’),将原来的=替换为:
    arrNew.push(item.replace('=', ':'));
  })
  // console.log(arrNew);
  // 4.3 把新数组中的每一项,进行合并,得到一个新的字符串
  //(4)用join('分隔符'),将数组转换成字符串,用newStr接收这个值
  const newStr = arrNew.join('\r\n');//(5)\r代表回车  \n代表换行
  // console.log(newStr);
  // 5. 调用 fs.writeFile() 方法,把处理完毕的成绩newStr,写入到新文件成绩-ok.txt中
  //    参数1:表示文件的存放路径
  //    参数2:表示要写入的内容
  //    参数3:回调函数,err是成功/失败
  fs.writeFile('./成绩-ok.txt', newStr, function (err) {
    // 6. 判断是否写入成功
    if (err) {
      // 6.1 如果文件写入成功,则 err 的值等于 null
      // 6.2 如果文件写入失败,则 err 的值等于一个 错误对象
      console.log('成绩写入失败' + err.message);
    }
    console.log('成绩写入成功');
  })
})








  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值