下划线转驼峰样式命名

168 阅读1分钟

下划线转驼峰样式命名

const r_obj = {
  amount: 100,
  tax_rate: 0.03,
  product_list: {
    order_id: 100,
    product_name: "驼峰命名",
  },
};
const changeKey = (obj) => {
  var dest = {};
  const reg = /\_(\w)/g;
  for (let key in obj) {
    const newKey = key.replace(reg, function (str, r) {
      return r.toUpperCase();
    });
    if (Object.prototype.toString.call(obj[key]) === "[object Object]") {
      dest[newKey] = changeKey(obj[key]);
    } else {
      dest[newKey] = obj[key];
    }
  }
  return dest;
};

console.log(changeKey(r_obj)); 
// 打印结果
{
    "amount": 100,
    "taxRate": 0.03,
    "productList": {
        "orderId": 100,
        "productName": "驼峰命名"
    }
}