我現在面臨一個特殊的問題,我需要改變像一個對象的結構:更改對象結構和性能在Javascript
customerPayload = {
name: 'Name must remain',
billing_address_street: 'Electric Avenue',
billing_address_number: 222,
shipping_address_street: 'Avenue 1',
shipping_address_number: 1337
};
成這樣:
customerPayload = {
name: 'Name must remain',
billing_address: {
street: 'Electric Avenue',
number: 222
},
shipping_address: {
street: 'Avenue 1',
number: 1337
}
};
我想是這樣的:
for (var p in customerPayload) {
if (customerPayload.hasOwnProperty(p)) {
if (p.includes('billing')) {
var b = p.substr(0, 15) + '.' + p.substr(15 + 1);
var bAddress = b.split('.')[0];
var childProp = b.split('.')[1];
newCustomerPayload[bAddress] = {
[childProp]: customerPayload[p]
};
}
// else if shipping ... same thing
}
}
但結果是隻有最後更改的屬性的對象:
customerPayload = {
billing_address: {
number: 222
},
shipping_address: {
street: 'Avenue 1'
}
};
請幫忙嗎?
爲什麼不這樣做手工需要4行代碼,我認爲! –
對象'customerPayload'是我的服務器中的請求體,我無法更改屬性名稱=/ – gcfabri