/** * 数据对象key 驼峰下划线互相转化 * @param {Object} data - 原始对象 反对-数组、key-value对象、字符串 * @param {String} type hump-转驼峰 toLine-转下划线 */formatHumpLineTransfer (data, type = 'hump') {  let hump = ''  // 转换对象中的每一个键值为驼峰的递归  let formatTransferKey = (data) => {    if (data instanceof Array) {      data.forEach(item => formatTransferKey(item))    } else if (data instanceof Object) {      for (let key in data) {        hump = type === 'hump' ? this.formatToHump(key) : this.formatToLine(key)        data[hump] = data[key]        if (key !== hump) {          delete data[key]        }        if (data[hump] instanceof Object) {          formatTransferKey(data[hump])        }      }    } else if (typeof data === 'string') {      data = type === 'hump' ? this.formatToHump(data) : this.formatToLine(data)    }  }  formatTransferKey(data)  return data}/** * 字符串下划线转驼峰 * @param {String} value 须要转换的值 */formatToHump(value) {  return value.replace(/\_(\w)/g, (_, letter) => letter.toUpperCase())}/** * 字符串驼峰转下划线 * @param {String} value  */formatToLine(value) {  return value.replace(/([A-Z])/g,"_$1").toLowerCase()}