2012-10-30 7 views

Odpowiedz

2

mieć również do sprawdzenia hasOwnProperty i usunąć poprzednią nieruchomość

var object = { DestinationId: "e96dd00a-b042-41f7-bd59-f369904737b6" } 
for (var prop in object) { 
    if (object.hasOwnProperty(prop)) { 
    object[ prop.substring(0,1).toLowerCase() + prop.substring(1) ] = object[ prop ]; 
    delete object[ prop ]; 
    } 
} 
+0

Dlaczego sprawdzasz przez hasOwnProperty? Twój Object.prototype ma dodatkową funkcjonalność? Jeśli tak jest - to nic dobrego. Musisz zdefiniować własne konstruktory. – Damask

4

prosty sposób to zrobić iteracji nad obiektu:

var newObj = {}; 
for (var p in o) { 
    newObj[p.substring(0,1).toLowerCase()+p.substring(1)] = o[p]; 
} 
+0

Może być bardziej eleganckim rozwiązaniem - zamień w łańcuchu JSON przez wyrażenie regularne przed konwersją na obiekt JS. – Damask

0

Czy nie lepiej, aby traktować te rzeczy jak ciągi i użyć Reg ma moc?

JSON.parse( JSON.stringify(z).replace( /(\"[^"])([^"]*\"\:)/g, function(all, head, tail) { return head.toLowerCase() + tail; } ) )

+0

Właściwie nie musisz do pierwszej stringify, jeśli przychodzi jako ciąg z back-end. – Damask

Powiązane problemy