• 记一次思维转变的时刻


    优化代码,由于数组中的字符串在代码两处是用直接写死字符串的方式引用,拼写错误会造成潜在BUG。故将一个数组变成一个json便于调用。
     
    module.exports = {
        PM: ['/getmyitems', '/getwardrobe', '/additem', '/moveitem', '/exchangeitem', '/splititem', '/mergeitem', '/pickitem', '/dropitem', '/takeon', '/takeoff', '/takeonclothing', '/takeoffclothing', '/deleteitem', '/clearitem', '/find', '/setbulidlev', '/fly', '/chgmap', '/flytonpc', '/setpopulation', '/setfood', '/settime', '/setbuildtimes', '/addmoney', '/submoney', '/setsignature', '/addtitle', '/createprofession', '/changeprofession', '/chgattr', '/buildupgrade', '/buildset', '/builddel', '/buildadd', '/buildput', '/homeupgrade', '/createprofession'],// PM命令 全部小写
    
        PM_COMMAND: {
            GETMYITEMS: '/getmyitems',
            GETWARDROBE: '/getwardrobe',
            ADDITEM: '/additem',
            MOVEITEM: '/moveitem'
            // 手动复制粘贴到这儿后,才想到可以通过代码对数组进行转换,以前的工作中,其实常常有用到转换,但是都是业务需求,像这次代码优化,转换的需求并不是业务上的需求,只是手动写了几个大写字母后,看到还有那么多字符串要手动写,自然而然就想到了用代码解决,这算是一次工作技能应用到了生活需求上,虽然最终目的还是为了工作上的优化,特此纪念
        }
    };
    

      

    下面是转换过程和结果:

    var PM = ['/getmyitems', '/getwardrobe', '/additem', '/moveitem', '/exchangeitem', '/splititem', '/mergeitem', '/pickitem', '/dropitem', '/takeon', '/takeoff', '/takeonclothing', '/takeoffclothing', '/deleteitem', '/clearitem', '/find', '/setbulidlev', '/fly', '/chgmap', '/flytonpc', '/setpopulation', '/setfood', '/settime', '/setbuildtimes', '/addmoney', '/submoney', '/setsignature', '/addtitle', '/createprofession', '/changeprofession', '/chgattr', '/buildupgrade', '/buildset', '/builddel', '/buildadd', '/buildput', '/homeupgrade', '/createprofession'];
    var UPCase = {};
    for (var i = 0; i < PM.length; i++) {
        var key = PM[i].toLocaleUpperCase().replace("/", "");
        UPCase[key] = PM[i];
    }
    
    console.log(UPCase);
    

      

    { GETMYITEMS: '/getmyitems',
      GETWARDROBE: '/getwardrobe',
      ADDITEM: '/additem',
      MOVEITEM: '/moveitem',
      EXCHANGEITEM: '/exchangeitem',
      SPLITITEM: '/splititem',
      MERGEITEM: '/mergeitem',
      PICKITEM: '/pickitem',
      DROPITEM: '/dropitem',
      TAKEON: '/takeon',
      TAKEOFF: '/takeoff',
      TAKEONCLOTHING: '/takeonclothing',
      TAKEOFFCLOTHING: '/takeoffclothing',
      DELETEITEM: '/deleteitem',
      CLEARITEM: '/clearitem',
      FIND: '/find',
      SETBULIDLEV: '/setbulidlev',
      FLY: '/fly',
      CHGMAP: '/chgmap',
      FLYTONPC: '/flytonpc',
      SETPOPULATION: '/setpopulation',
      SETFOOD: '/setfood',
      SETTIME: '/settime',
      SETBUILDTIMES: '/setbuildtimes',
      ADDMONEY: '/addmoney',
      SUBMONEY: '/submoney',
      SETSIGNATURE: '/setsignature',
      ADDTITLE: '/addtitle',
      CREATEPROFESSION: '/createprofession',
      CHANGEPROFESSION: '/changeprofession',
      CHGATTR: '/chgattr',
      BUILDUPGRADE: '/buildupgrade',
      BUILDSET: '/buildset',
      BUILDDEL: '/builddel',
      BUILDADD: '/buildadd',
      BUILDPUT: '/buildput',
      HOMEUPGRADE: '/homeupgrade' }
    

      

     
  • 相关阅读:
    关于标签类的注意事项
    层叠样式表css的优先级
    link常用的作用
    html中属于布尔类型的属性
    行级标签和块级标签的区别
    拥有inline-block属性的标签
    JDK中的Timer和TimerTask详解(zhuan)
    关于 MySQL LEFT JOIN 你可能需要了解的三点(zhuan)
    Logger日志级别说明及设置方法、说明 (zhuan)
    Velocity教程 (zhuan)
  • 原文地址:https://www.cnblogs.com/yourstars/p/8966625.html
Copyright © 2020-2023  润新知