이것은 메모 요청과 관련하여 많은 질문이 아닙니다.JavaScript 객체 두 개를 병합하고 키 이름을 변경
나는 두 개의 객체를 가지고 있으며 두 번째 객체의 값을 취하여 첫 번째 객체의 속성 이름을 유지하면서 첫 번째 객체의 값과 병합 (덮어 쓰기)하고 싶습니다.
두 번째 개체의 키 이름은 길고 사람의 소비를 설명하는 반면 첫 번째 키 이름은 간결하고 못생긴 바이트를 저장합니다.
두 번째 객체의 가독성이 문제가되기 전에 jQuery를 사용하고 있었으므로 지금은 내 자신의 방식으로이 문제를 해결했습니다. 그러나 객체를 반복하는 것이 원래 순서대로 키/값 쌍을 반환하지 않기 때문에 이것이 장기적으로 실행 가능한 솔루션인지 궁금합니다. 바라건대이 코드가이 점을 잘 설명해 주길 바랍니다.
아이디어를 보내 주셔서 감사합니다. :)
var ob = {}, i = 0, k, pArr = [];
for(k in p){
if(p.hasOwnProperty(k)){
pArr.push(k);
}
}
for(k in c){
if(c.hasOwnProperty(k)){
ob[pArr[i]] = c[k];
}
i++;
}
이제 ob 객체에는 두 번째 객체의 모든 속성이 있지만 첫 번째 객체의 키 이름이 있습니다. 이것은 효과가 있지만 추한 느낌이 들며, 더 좋은 방법이 있는지 궁금합니다.
을 첫 번째 객체의 속성 이름도 유지하도록 허용합니다. 그러나 나는 그것을 조정하고있다. – Tom
그럼'ob [p_key] = c [c_key]'를'p [p_key] = c [c_key]'로 변경하면 첫 번째 객체가 두 번째 객체의 모든 값으로 업데이트됩니다. 그러나 매핑 된 p 키가 아닌 모든 것을 원한다면 미리'p'의 모든 값으로'ob'을 초기화해야합니다. –
내 방법을 사용하여 프로세스를 100000 번 반복하면 모든 속성이 방해가되는 과정에서 같은 결과를 얻습니다 ... 그냥 기회입니까? – Tom