JSON 객체 프로퍼티 할당
조회수 1108회
예를들어 db라는 객체에 다음과 같은 구조로 값을 저장하려고합니다.
db = {level1: { 0901 : { 1210: { data : 3.0}}}};
db = {}일때 위 값을 저장하려고
db['level1']['0901']['1210']['data'] = 3.0 했는데 두번째
하위항목 즉 '0901' 프로퍼티가 지정되지 않았다고 나오네요.
그래서 할수 없이 다음과 같이 코딩했습니다.
db = {};
db['level1'] = {};
db['level1']['0901'] = {};
db['level1']['0901']['1210'] = {};
db['level1']['0901']['1210']['data'] = 3.0
좀더 간단한 방법이 없을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
3 답변
-
이렇게 하니까 되네요
addDataArrayToDB(dataArray, fileName: string) { const fileInformation = this.findInfomationFromFileName(fileName); const sensorNumber = fileInformation.sensorNumber; const startingDate = fileInformation.startingDate; const startingTime = fileInformation.startingTime; this.flowDB = { [sensorNumber] : { [startingDate] : { [startingTime] : { 'data' : dataArray[0] } } } }; console.log(this.flowDB); }
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
var db = { "level1": { "0901" : { "1210": { "data" : 3.0 } } } };
그냥 이렇게 하면 되는데...
프로퍼티 접근 표현식으로 객체를 만들어야 하는 이유가 있나요?
- 프로퍼티명을 변수명으로 지정할거거든요. 문자열 'level1'이 저장된 변수 sensorName로 지정하려고요. 그래서 처제의 일기님이 알려주신 코드를 참고해서 아래 답변글과 같이 작성하니까 되네요~ 알 수 없는 사용자 2017.9.26 18:07
-
원하시는 패턴을 보통 네임스페이스패턴이라고 표현합니다. 보통은 원하는 이름만 전달하면 해당 네임스페이스에 객체체이닝을 만들어주는 유틸함수를 하나 만들어서 사용합니다. 구글에 javascript namespace 라고만쳐도 한글자료들 포함 많이 나옵니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력