Vue:将Excel导入的数据中文key转换为英文

        在实现Excel导入数据到网页中时,经常容易遇到的一个问题就是key的语言不统一,后端接口常规统一要求接收英文,所以我们要将key统一成英文.

        下面是后端接口要求的示例格式 

 处理内容:字段中文转英文。例如excel中读入的是姓名,而后端需要的是username

为了方便维护代码,单独封装一个方法来实现这个转换的功能。

    // 思路:对于原数组每个对象来说
    //    (1) 找出所有的中文key
    //     (2)  得到对应的英文key
    //     (3)  拼接一个新对象: 英文key:值
    transExcel(results) {
    // 首先需要一个我们写好的用来映射的对象或数组
      const mapInfo = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber',
        '部门': 'departmentName',
        '聘用形式': 'formOfEmployment'
      }
      return results.map(zhObj => {

        // 首先创建一个空对象来逐个接收转换后的key
        const enObj = {}

        // 使用Object.keys方法来获取中文的key
        const zhKeys = Object.keys(zhObj) // ['姓名', '手机号']

        // 用forEach循环来将key逐个映射(map)出去
        zhKeys.forEach(zhKey => {
          const enKey = mapInfo[zhKey] // 如果是一个对象具体的某个属性,就用 对象.(属性),此处非确切值,则为 对象[属性] 写法

          enObj[enKey] = zhObj[zhKey] // 将空对象所需要接收的值传入
        })

        return enObj
      })
    }

思路总结:

由于我们的业务需求是'转换', 所以可以用map方法来做

而又因为需要逐一对应,所以要用到循环,这里我们可以用forEach

如果后端有返回翻译的字段且键值对反了,推荐看我的这篇博客http://t.csdn.cn/rd2YR

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值