다음과 같이 한 쌍의 문자를 포함하는 특별한 종류의 문자열이 있다고 가정해 보겠습니다. -
const str = "AABBCCDDEE";
이 문자열을 기반으로 다음과 같은 개체를 구성해야 합니다.
const obj = {
code: "AA",
sub: {
code: "BB",
sub: {
code: "CC",
sub: {
code: "DD",
sub: {
code: "EE",
sub: {}
}
}
}
}
}; 문자열의 고유한 각 쌍에 대해 새 하위 개체가 있고 모든 수준의 code 속성이 특정 쌍을 나타냅니다.
재귀적 접근 방식을 사용하여 이 문제를 해결할 수 있습니다. 문자열을 재귀적으로 반복하여 특정 커플을 선택하고 새 하위 개체를 할당합니다.
예시
다음은 코드입니다 -
const str = "AABBCCDDEE";
const constructObject = str => {
const res = {};
let ref = res;
while(str){
const words = str.substring(0, 2);
str = str.substr(2, str.length);
ref.code = words;
ref.sub = {};
ref = ref.sub;
};
return res;
};
console.log(JSON.stringify(constructObject(str), undefined, 4)); 출력
이것은 콘솔에 다음과 같은 출력을 생성합니다 -
{
"code": "AA",
"sub": {
"code": "BB",
"sub": {
"code": "CC",
"sub": {
"code": "DD",
"sub": {
"code": "EE",
"sub": {}
}
}
}
}
}