js属性名下划线转驼峰(递归所有属性篇)

时间:2025-02-16 11:45:09
//数据示例: object: { a_a: '张三', b_b: 1, c_c: { d_d: 155, e_e: 200 }, f_f: { g_g: '张二', h_h: 44, y_y: { z_z: '李四' } } } //处理函数封装 fn(data) { for (let key in data) { let kList = key.split('_'); let keyw = kList[0] + kList[1].slice(0, 1).toUpperCase() + kList[1].slice(1, kList[1].length); if (data[key] instanceof Object) { if (kList.length > 1) { data[keyw] = data[key]; //原生js可以使用 delete data[key] this.$delete(data,key) } this.fn(data[keyw]); } else { if (kList.length > 1) { data[keyw] = data[key]; this.$delete(data,key) } } } },