5.1 node实现简单注册功能(往json文件中写入数据)

5.1.1 描述:

/* 
    描述:
        如果persons中没有对应的用户,则把user写入到persons.json中,提示注册成功并且不能修改原来的数据结构
        如果有对应的用户名,则提示用户名已经被占用 
*/

5.1.2 persons.json文件

[{"username":"xm1","password":"1234"},{"username":"xm2","password":"222"},{"username":"xm3","password":"333"}]

5.1.3 node文件

1)引入文件模块

        

let fs = require("fs");

2)需要写入的数据

let user = {
    username: "admin1",
    password: "12345"
}

3)创建实现注册功能的函数(推荐使用findIndex()方法)

function doRegister() {
    // 读取peersons.jsan文件,存储在data中
    let data = fs.readFileSync("./persons.json");
    // 将读取到的字符串转成JSON对象的格式,存储在arr中
    let arr = JSON.parse(data.toString());
    // 遍历读取到的数据
    // 方法一:使用findIndex()方法,如果账户不存在,返回-1
    /*    let tag = arr.findIndex((item) => {
           return item.username == user.username && item.password == user.password;
       });
       if (tag == -1) {
           // 将新数据添加进数组中
           arr.push(user);
           // 将数组转成字符串格式,写入persons.json中
           fs.writeFileSync("./persons.json", JSON.stringify(arr));
           console.log("注册成功");
       } else {
           console.log("用户名已经被占用");
       } */
    //    方法二:for循环遍历
    let tag = false; //定义标记  false-->账户不存在,true-->账户存在
    for (let item of arr) {
        //如果账户已经存在
        if (item.username == user.username && item.password == user.password) {
            // 更新标记
            tag = true;
            console.log("账号已存在");
        }
    }
    // 账户不存在
    if (tag == false) {
        // 将新数据添加进数组中
        arr.push(user);
        // 将数组转成字符串格式,写入persons.json中
        fs.writeFileSync("./persons.json", JSON.stringify(arr));
        console.log("注册成功");
    }
}

4)调用注册函数

doRegister();

5)运行方式:

vscode-->在集成终端中打开  -->使用node命令运行.js文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值