Chcę zamienić białe znaki kluczy w zagnieżdżonym obiekcie. Mam obiektu w następujący sposób:usunąć spację w kluczach w obiekcie zagnieżdżonym za pomocą javascript
var data =
{ 'General Information':
{ 'Referral No': '123123',
Marketer: '',
Casemanager: 'Alexis Clark',
'CM Username': '',
VOC: '',
'Foreign Voluntary': '',
},
'Account Name': 'CTS Health',
}
co zrobiłem to:
for (var k in data) {
if (k.replace(/\s/g, '') !== k) {
data[k.replace(/\s/g, '')] = data[k];
if (data[k] !== null && typeof data[k] === 'object') {
for (var x in data[k]) {
if (x.replace(/\s/g, '') !== x) {
data[k][x.replace(/\s/g, '')] = data[k][x];
delete data[k][x];
}
}
}
delete data[k];
}
}
uzyskać to:
{ GeneralInformation:
{ 'Referral No': '123123',
Marketer: '',
Casemanager: 'Alexis Clark',
'CM Username': '',
VOC: '',
'Foreign Voluntary': '',
},
AccountName: 'CTS Health',
}
co chcę:
{ GeneralInformation:
{ ReferralNo: '123123',
Marketer: '',
Casemanager: 'Alexis Clark',
CMUsername: '',
VOC: '',
ForeignVoluntary: '',
},
AccountName: 'CTS Health',
}
Co Czy robię źle tutaj?
Wow, to jest jakaś podnieta kod. Takie zagnieżdżanie jest bardzo szkodliwe dla czytelności. Unikaj używania 'delete' –
@dan, nawet nie usuwa białych znaków pierwszego klucza. –
@AluanHaddad, Hmmm naprawdę nie mogę tego jakoś uruchomić. Wiem, że rozwiązanie musi być naprawdę proste. Ale utknąłem:/ –