下划线转驼峰样式命名
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": "驼峰命名"
}
}