Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

점 표기법의 문자열을 JavaScript라는 값이 있는 중첩 객체로 어떻게 바꾸나요?

<시간/>

다음이 점 표기법의 문자열이라고 가정해 보겠습니다. −

const keys = "details1.details2.details3.details4.details5"

그리고 다음은 우리의 배열입니다 -

const firsName = "David";

중첩된 객체로 바꾸려면 map()과 함께 split('.')의 개념을 사용하십시오.

예시

다음은 코드입니다 -

const keys = "details1.details2.details3.details4.details5"
const firsName = "David";
var tempObject = {};
var container = tempObject;
keys.split('.').map((k, i, values) => {
   container = (container[k] = (i == values.length - 1 ? firsName : {}))
});
console.log(JSON.stringify(tempObject, null, ' '));

위의 프로그램을 실행하려면 다음 명령을 사용해야 합니다 -

node fileName.js.

여기에서 내 파일 이름은 demo227.js입니다.

출력

출력은 다음과 같습니다 -

PS C:\Users\Amit\JavaScript-code> node demo227.js
{
 "details1": {
  "details2": {
   "details3": {
    "details4": {
     "details5": "David"
    }
   }
  }
 }
}