nodejs需要经过if else处理的代码逻辑中需要有大量重复代码,但是局部不一致时,如何简化

文章介绍了如何通过在JavaScript中使用ES6的解构语法优化处理根据变量size选择不同文件写入数据的逻辑,避免大量重复的ifelse语句。示例展示了如何构建一个包含不同文件路径和消息的对象,然后根据size值选取相应的数据和文件路径进行数据写入操作。
摘要由CSDN通过智能技术生成

示例描述:size有1,10,100三种值,需要根据size值判断需要向哪个文件中写入对应数据,如果用if else语句来判断,则path、message以及写入文件部分代码均需大量重复,仅有小部分不同。

则:类似需求可以通过将不同数据部分存放在对象中,使用ES6的解构语法从该对象中提取相应数据。并将它们传递给后续函数或方法中使用。

示例代码:

const fs = require('fs')
const path = require('path')

let data = {
  1:[],
  10:[],
  100:[]
}
// 向文件中写入数据
function writeData(queries,cnt,time,size,database){
  const fileData = {
    1: {
      path: path.join(__dirname, '../public/linesData/linesData1.json'),
      message: 'linesData1数据写入成功'
    },
    10: {
      path: path.join(__dirname, '../public/linesData/linesData10.json'),
      message: 'linesData10数据写入成功'
    },
    100: {
      path: path.join(__dirname, '../public/linesData/linesData100.json'),
      message: 'linesData100数据写入成功'
    }
  }

  //通过size参数判断需要向哪个属性中写入数据
  const jsonData = data[size];
  jsonData.push(handleDataToJson(queries, cnt, time, database));

  //通过size判断需要向哪个文件中写入数据,并输出对应的成功信息
  const { path: filePath, message: successMessage  } = fileData[size];
  //向对应文件中写入数据
  fs.writeFile(path.join(filePath),JSON.stringify(jsonData, null, 2),(err)=>{
    if(err) throw err;
    console.log(successMessage);
  })
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值