因此,有很多问题涉及如何遍历对象并对属性名称进行简单更改,但我要解决的问题有点棘手,非常感谢一些帮助。
本质上,我想制作一个像这样的对象:
{
home_number: '1234',
customer: {
name: {
last_name: 'Smith',
},
},
};
变成这个
{
home_number: '1234',
individual: {
name: {
lastName: 'Smith',
},
},
};
目前,我的功能如下
function restructure(obj) {
let newObj = {};
const newKeys = {
fed_tax_id: 'federalTaxId',
company_structure: 'companyStructure',
home_number: 'homeNumber',
customer: 'individual',
first_name: 'firstName',
last_name: 'lastName',
}
}
for(let key in obj){
if (typeof obj[key] === 'object') {
restructure(obj[key])
}
if(Object.hasOwnProperty.call(newKeys, key)){
let newProperty = newKeys[key]
newObj[newProperty] = obj[key]
}
if(!Object.hasOwnProperty.call(newKeys, key)){
newObj[key] = obj[key]
}
return newObj;
}
我目前正在努力解决的一件事是删除需要更改的键(我创建了 newKeys 对象作为显示需要更改的键以及它们需要更改的内容的一种方式)。即在这种情况下,当客户更改为个人时,它也会将“last_name”更改为“lastName”。
使用我目前的功能,对象返回如下:
{ homeNumber: '1234' }
谢谢 :) 如果已经问过这个问题,请告诉我,但是在搜索了整个地方之后,我找不到与此足够接近的问题。
catspeake
一只斗牛犬
qq_花开花谢_0
相关分类