함수형 도구
함수형 도구 (map, filter, reduce, ...etc+)
순수함수와 고차함수를 사용해서 효과와 계산을 분리하여 함수들을 서로 합성하고 조합해서 사용하는 것은 결국 사람의 생각과 최대한 가까운 코드를 작성하기 위함이다.
반복문을 대채해서 코드의 목적을 더 명확하게 할 수 있다
Array 여러개 일 수 있는 값
데이터 요소의 집합을 나타내는 자료구조
Array
를 반환하는 함수는 단 하나의 값이 반환되는 것이 아닌 0개 또는 여러개의 값이 반환이 될 수 있기 때문에 값이 하나로 결정되지 않는다 하여 비결정적이라 부른다.반복문 대신
map
,filter
,reduce
등을 사용하면 배열의 요소에 직접 접근하지 않고도 동일한 처리를 수행할 수 있다.
map()
보조 함수를 통해
iterable
안의 값에 1:1로 매핑되는 어떠한 값을 수집할 때 사용배열의 모든 요소에 함수를 적용해 새로운 배열을 반환한다. 각 요소는 전달한 콜백 함수에 의해 변환된다.
입력값 배열의 원소의 갯수와 동일한 길이의 배열을 반환해야한다.
map()
함수 내부에for loop
를 사용하긴 했지만 사용하는 입장에서 보면 어떻게 구현되어있는지 신경쓸 필요가 없고 단지 주어진 배열의 모든 원소에 주어진 함수를 적용시켜 새로운 배열을 얻는다는 것만 알면 된다.즉, 기존의 직접 다루던 부수효과를 분리해서 격리한 후에 별도의 효과로 취급할 수 있도록 추상화한 것
filter()
보조 함수를 통해
iterable
안의 조건에 충족하는 어떠한 값을 수집할 때 사용어떤 배열의 하위 집합을 선택해 새로운 배열을 반환핞다.
술어(predicate)
를 전달하여 특정 요소들을 필터링한다.
reduce()
배열의 요소들을 순회하여 하나의 값으로 누적할 때 사용
초깃값을 가지고 어떤 배열의 요소를 조합해 하나의 값을 만든다.
Last updated