TIL_20.12.24(목)

nRecode·2020년 12월 24일
0

TodayILearned

목록 보기
77/95
post-thumbnail

문자열 다루기

  • index로 접근만 가능하나 read only. 쓸 수는 없다.

  • string 타입과 다른 타입에 +연산자 사용하면, string형식으로 변환

  • 모든 string method는 immutable하다(원본이 변하지 않는다).

배열 다루기, 함수형 프로그래밍

  • 배열은 mutable immutable을 잘 구분 해야한다.

  • forEach
    전달인자는 반복 실행할 함수이고 배열의 길이만큼 반복 실행한다.
    인자로 전달되며, 실행여부를 해당 함수(forEach)가 결정하는 형태의 함수를 callback이라고 부른다.
    리턴 값이 없다.
    callback함수의 파라미터 순서는 순서대로
    -> 현재엘리먼트(value), 인덱스(index), 원본배열(array)

  • map
    전달인자는 반복 실행할 함수
    callback함수는 리턴값이 필요하며, 해당내용이 새로운 배열의 element가 된다.
    리턴 값은 callback의 리턴값들이 담긴 배열이다.
    callback함수의 파라미터 순서는 순서대로
    -> 현재엘리먼트(value), 인덱스(index), 원본배열(array)

  • filter
    전달인자는 해당 element가 필터 조건에 맞는지 검사할 함수
    callback함수에는 리턴값이 필요하며, true일 경우 필터조건에 통과
    리턴 값은 callback의 리턴 값들이 담긴 배열
    callback함수의 파라미터 순서는 순서대로
    -> 현재엘리먼트(value), 인덱스(index), 원본배열(array)

  • reduce
    reduce 작동원리: 배열에서 문자로,배열에서 숫자로, 배열에서 객체로 -> 여러 개의 값이 담긴 배열이 줄여서(reduce) 최종적으로 하나의 값으로 만드는 과정
    배열을 하나의 값으로 만드는 함수: 리듀서

    전달인자는 리듀서함수, 초기값이다. 리듀서는 리턴값이 필요하며, 다음번 리듀서 호출 시, 첫번째 파라미터로 전달됨
    리턴 값은 리듀서가 마지막으로 리턴하는 값
    callback함수의 파라미터 순서는 순서대로
    -> 누적값(accumulator), 현재 엘리먼트(value), 인덱스(index), 원본배열(array)

let users = [{name: 'T', city: 'Seoul'},{name: 'N', city: 'Seoul'},{name: 'U', city: 'LA'}];

function reducer((acc,val) => {
  acc[val.city]++;
  return acc;
})

let population = {
  'Seoul': 0,
  'LA': 0
};

users.reduce(reducer,population);
profile
안정성, 확장성 있는 서버를 구축하고 가꾸는 개발자를 목표로 공부하고 있습니다. 🤔🤔🤔🤔 부족하기에 맞지 않는 내용이 있을 수 있습니다. 가감없이 피드백 해주시면 정말 감사하겠습니다..🙏

0개의 댓글