FE RYAN
완벽하지 않으면 어때
FE RYAN
전체 방문자
오늘
어제

블로그 메뉴

  • 💾 깃허브 링크
  • 홈
  • 태그
  • 분류 전체보기 (151)
    • 개인프로젝트 (8)
      • 개인 포트폴리오 웹앱 (6)
      • 프론트엔드 기술면접 아카이빙 웹앱 (2)
    • 기록 (121)
      • 원티드 프리온보딩 인턴십 (0)
      • 코드스테이츠 프론트엔드 (75)
      • 생각들 (3)
      • Today I learned (32)
      • 회고 (9)
      • 리뷰 (1)
    • 개발 (17)
      • React (3)
      • Javascript (7)
      • CSS (1)
      • HTML (3)
      • HTTP (1)
      • 자료구조 (0)
      • 알고리즘 (2)
    • 코딩테스트 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • 디자인 (1)
      • UI & UX (1)
    • 수학 (0)
    • 자기계발 (0)

공지사항

인기 글

태그

  • seb39
  • 자바스크립트 딥다이브
  • 원시타입
  • 타입스크립트
  • useMemo
  • css
  • 부트캠프
  • 신입개발자
  • 메인프로젝트
  • seb 39
  • ES6
  • 자바스크립트
  • 회고
  • Til
  • 프론트엔드
  • 리액트
  • 코드스테이츠
  • 딥다이브
  • HTML
  • 포트폴리오

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
FE RYAN

완벽하지 않으면 어때

기록/코드스테이츠 프론트엔드

9주 5일차 - JSON

2022. 6. 25. 00:46
728x90

9주 5일차 - JSON

1. 배운 것

  • JSON ↔ 객체

2. 내용 정리

코플릿 14번 복습

  • 재귀 호출의 결과가 true일 경우에만 리턴을 주어야 이차원 배열이 있는 일차원 배열의 다음 요소로 넘어간다.

코플릿 15번 복습

  • for문 안에서 이차원 배열과 이차원 배열이 아닌 경우를 front, mid, end 세 변수에 나눠서 담고 1차원 배열로 합친다.
  • 과정도
    1. [1, 2, [3, 4], 5] 인 경우
    2. [1, 2] [3, 4] [5] 로 만들고
    3. […[1, 2], …[3, 4], …[5]] concat 또는 spread로 하나의 배열로 합친다.
    4. [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가 된다.

JSON의 기본 규칙

  • 객체는 템플릿 리터럴로 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
    '기록/코드스테이츠 프론트엔드' 카테고리의 다른 글
    • 10주 3일차 - 피그마 2/ 알고리즘
    • 10주 1일차 - 휴가 사용(알고리즘 보충학습)
    • 9주 4일차 - 재귀, dp
    • 9주 3일차 - 섹션2 회고, 재귀, dp
    FE RYAN
    FE RYAN

    티스토리툴바