nodejs读取txt内容简单处理后再写入

txt内容是姓名-成绩,需要拿到内容后按照成绩进行排序再写入新文件

1、txt 文件内容

小红-99 小白-100 小路-90 小黑-80

2、读取文件内容

const fs = require('fs')

fs.readFile('./file/成绩.txt','utf8',function(err,data){
    if(err){
        return console.log('读取失败',err)
    }
    console.log(data)
})

3、处理数据

const arr = data.split(' ')

// [ '小红-99', '小白-100', '小路-90', '小黑-80' ]

const newarr = [];
arr.forEach(item => {
    newarr.push(item.split('-'))
})

// [ [ '小红', '99' ], [ '小白', '100' ], [ '小路', '90' ], [ '小黑', '80' ] ]

4、这时候就可以对数据进行排序了,需要按照每个数组的第二个值排序

newarr.sort(compare())

// [ [ '小黑', '80' ], [ '小路', '90' ], [ '小红', '99' ], [ '小白', '100' ] ]

function compare() {  
    return function (a,b){
        var value1 = a[1];
        var value2 = b[1];
        return value1 - value2;
    }
}

5、拼接处理后的数据

newarr.forEach((item,index)=>{
   newarr[index] = item.join('=')
})

const newarrsort = newarr.join('\r\n')

/**
小黑=80
小路=90
小红=99
小白=100

*/

6、写入新的文件

fs.writeFile('./file/成绩-sort.txt',newarrsort,function(err){
    if(err)  console.log('写入失败')
})

7、写入后文件内的数据

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值