728x90
반응형
이번에 DB에서 배열에 담긴 객체들을 가져 오고나서 키값을 코멘트로 변경해줄 일이 있어서
객체의 키값을 변경해주는 함수를 작성한 김에 객체의 키값을 한번에 수정할 수 있는 몇가지 함수를 정리해보려고 한다.
로직은 비슷하니 필요한 코드를 갖다 쓰거나 본인의 상황에 맞게 조금만 고쳐도 될 것 같다.
객체 + 객체의 키값을 매핑하여 키값을 변경한 객체를 리턴해주는 함수
샘플코드
var oldObj = { name : '봄봄', age : 18, soul_food : 'chicken' };
var newObj = { name : '이름', age : '나이', soul_food : '소울푸드' };
/**
* newObj : key값과 코멘트를 가진 객체
* oldObj : 실제 List의 속성을 담은 객체
* oldObj의 key(영문)을 코멘트로 변환하여 객체를 리턴하여줌
* @param {*} newObj
* @param {*} oldObj
* @returns
*/
const renameKeys = (newObj, oldObj) => {
const renamedObj = {}
for (let [before, after] of Object.entries(newObj)) {
if (before) {
renamedObj[after] = oldObj[before]
}
}
return renamedObj
};
renameKeys(newObj, oldObj);
👉️ //{이름: '봄봄', 나이: 18, 소울푸드: 'chicken'}
위 코드는 oldObj와 newObj라는 2개의 객체를 인자로 받아서 renamedObj라는 객체를 반환해주는 함수이다.
기존 객체를 직접 수정한다기 보다는 키값을 변경한 새로운 객체를 반환해준다.
객체 + 배열을 매핑하여 키값이 변경 된 객체를 리턴해주는 함수
샘플코드
var oldObj = {name: '봄봄', age: 18, soul_food: 'chicken'};
var array = ['이름', '나이', '소울푸드'];
const renameKeys = (oldObj, array) => {
const renameObj = {};
array.forEach((e, index) => {
renameObj[e] = Object.values(oldObj)[index];
console.log(renameObj);
});
return renameObj;
};
renameKeys(oldObj, array);
👉️ //{이름: '봄봄', 나이: 18, 소울푸드: 'chicken'}
이 글에서는 기존객체를 수정하는게 아니라, 값을 매핑해서 새로운 객체를 리턴해주는 코드들이다.
만약 새로운 객체를 리턴해주는게 아닌 기존 객체의 키값 자체를 수정하려면
객체의 속성을 복사하고 delete 연산자를 활용하여 기존 속성을 삭제하는 방법이 있다.
필요한 사람은 아래 링크를 참조하여 위의 코드와 조합하여 활용 할 수 있을 것 같다.
[JS] javascript : 객체(Object)의 키(Key)값 수정하는 방법 이동
728x90
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] javascript : 배열 각 문자열의 홑따옴표(') 유지하는 방법 (0) | 2022.12.17 |
---|---|
[JS] javascript : delete를 통해 배열안에 있는 객체에서 특정 key값을 한번에 삭제하는 방법 + delete 연산자 (0) | 2022.12.17 |
[JS] javascript : 객체(Object)의 키(Key)값 수정하는 방법 (0) | 2022.12.15 |
[JS] javascript : 이벤트리스너(EventListener) 한번만 수행하도록 옵션을 주는 방법 (0) | 2022.12.14 |
[JS] javascript : delete연산자를 통한 객체(Object)의 속성을 삭제하는 방법 (0) | 2022.12.14 |