nodejs中fs模块练习

练习:整理数据,将a.txt的内容,转成b.json的内容


a.txt内容

小王,19
小李,20
小陈,21

b.json内容

{
  "list":[
        {"name":"小王","age":19},
        {"name":"小李","age":20},
        {"name":"小陈","age":21}
  ],
     "average":20,
  "total":3
}

js 整理数据

// 整理数据,将a.txt的内容,转成b.json的内容。
const fs = require('fs')
const path = require('path')
let list = []


// 获取a 的内容
fs.readFile(path.join(__dirname,'a.txt'), 'utf8', (err, data) => {
    if (err) {
        console.log('错误', err)
        return
    }
   //console.log(data)//小王,19小李,20小陈,21

  //把data转换成数组
    let arr = data.split('\r\n')
    //console.log(arr)//[ '小王,19', '小李,20', '小陈,21' ]

    let newArr=[]
    arr.forEach(item => {
       newArr.push(item.split(','))
    })
   // console.log(newArr)//[ [ '小王', '19' ], [ '小李', '20' ], [ '小陈', '21' ] ]

    let sumAge=0
    let obj={}
    for (let i = 0; i < arr.length; i++){
       
          obj = {
                name: newArr[i][0],
                age:newArr[i][1] 
        }
        sumAge += +newArr[i][1]
        list.push(obj)
    }
    
    let average=sumAge/list.length
    //console.log(list)
    //   [
    //     { name: '小王', age: '19' },
    //     { name: '小李', age: '20' },
    //     { name: '小陈', age: '21' }
    //   ]
    
  let  resObj = {
        list: list,
      average:average,
        total:list.length


   }
    console.log(resObj)

    
// 写入b.json中
    fs.writeFile(path.join(__dirname, 'b.json'),JSON.stringify(resObj), (err) => {

        console.log('错误', err) 
    })
})

上一篇:函数调用关系图


下一篇:【Hadoop开发重点】HDFS 的 API 操作