2017-01-29 1 views
0

JavaScript를 사용하면 전체 키 - 값 쌍을 제거하고 대신 새 키 - 값 쌍을 추가하는 것 외에 객체의 기존 키 이름을 변경할 수 있습니까?JavaScript : 기존 키 이름을 편집 할 수 있습니까?

가지의 종류의 내가 가능하면, 다음과 같이 일반적으로 보일 것이다 요구하고있는 약 : 키 이름을 추출하여 만든 배열을 편집하지 말고 것을 제외하고 ...

myObj = {'a':1, 'b':2,}; 

Object.keys(myObj)[i] = 'newKeyName'; 

, 하나는 실제로 것 원본 개체에서 키 이름 자체를 편집하십시오.

답변

3

아니, 그게 최선의 방법입니다.

var a = { b: 'c', d: 'e' }; 

a.f = a.b; 
delete a.b; 

console.log(a); // { d: 'e', f: 'c' } 
+0

쿨, 고마워. 나는 단지 적절한 임무를 기억하지 못하고 있다고 생각했지만, 당신이 확인한 것처럼, 아니, 당신은 단지 한 문장으로 그렇게 할 수는 없다. –

0

일부 perf.

obj = {'a':1,'b':2} 
oldKey = 'a' 
newKey = 'x' 

if (oldKey !== newKey) { 
    Object.defineProperty(obj, newKey, 
     Object.getOwnPropertyDescriptor(obj, oldKey)); 
    delete obj[oldKey]; 
} 
관련 문제