728x90
9주 5일차 - JSON
1. 배운 것
- JSON ↔ 객체
2. 내용 정리
코플릿 14번 복습
- 재귀 호출의 결과가 true일 경우에만 리턴을 주어야 이차원 배열이 있는 일차원 배열의 다음 요소로 넘어간다.
코플릿 15번 복습
- for문 안에서 이차원 배열과 이차원 배열이 아닌 경우를 front, mid, end 세 변수에 나눠서 담고 1차원 배열로 합친다.
- 과정도
- [1, 2, [3, 4], 5] 인 경우
- [1, 2] [3, 4] [5] 로 만들고
- […[1, 2], …[3, 4], …[5]] concat 또는 spread로 하나의 배열로 합친다.
- [1, 2, 3, 4, 5]
function flattenArr(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
let start = arr.slice(0, i); // 첫번째부터 이차원배열 전까지
let mid = arr[i];
let end = arr.slice(i + 1);
let flatten = [...start, ...mid, ...end];
return flattenArr(flatten);
}
}
return arr; // 이차원 배열이 없다면 그냥 원본 리턴
}
- JSON.stringify : 객체를 JSON으로 변환(직렬화: serialize). 이 때 타입은 string이 된다.
- JSON.parse : JSON을 객체로 변환(역직렬화: deserialize). 이 때 타입은 object가 된다.
- 객체는 템플릿 리터럴로 string 타입의 형변환 불가능.
- for of 문은 배열의 요소 순회 시 사용.
- for in 문은 객체의 프로퍼티 순회 시 사용.
let obj = {};
console.log(`${obj}`); // [object Object]
let func = function () {};
typeof func; // 'function'
typeof undefined; // 'undefined'
줌 세션 - 종합퀴즈, 과제 풀이
트리 구조의 문제는 재귀를 사용하여 풀이하기 적합하다.
배열 안의 배열도 트리 구조로 볼 수 있다.
JSON 데이터도 객체 안에 객체가 있는 형태의 트리 구조로 볼 수 있다.
JSON.stringify 메서드는 재귀함수다.
자바스크립트로 최초 문자열이었던 데이터는 JSON으로 변환 시 “”문자열"”
자바스크립트로 최초 숫자타입이었던 데이터는 JSON으로 변환 시 그냥 숫자 그대로. 문자열로 바뀌긴 하지만 따옴표로 감싸지는 않음!
함수의 리턴문이 없어도 되는 경우: 리턴이 없더라도 함수가 동작하면서 외부의 값을 변경하는 경우이거나 반환값이 필요 없는 경우
점화식
보통 점화식은 n번째의 항을 이전에 나온 항들로 나타내는 공식으로 나타나고, 이 점화식을 만족시키는 수열은 초깃값에 따라 유일하게 결정된다.
참고 자료
3. 리뷰
3.1 좋았던 점
3.2 아쉬웠던 점
3.3 notes
728x90
'기록 > 코드스테이츠 프론트엔드' 카테고리의 다른 글
10주 3일차 - 피그마 2/ 알고리즘 (0) | 2022.06.29 |
---|---|
10주 1일차 - 휴가 사용(알고리즘 보충학습) (0) | 2022.06.27 |
9주 4일차 - 재귀, dp (0) | 2022.06.23 |
9주 3일차 - 섹션2 회고, 재귀, dp (2) | 2022.06.22 |
9주 1일차 - state airline server (1) | 2022.06.20 |