안녕하세요.
underscore 알아보기 (1)에 이어 후속 내용을 이어가도록 하겠습니다.
이 전에 each, context(this), find, countBy, reduce, some, contains, every, max, min, sortBy, groupBy 를 알아보았습니다.
이번에는 reject, filter, partition, toArray, values, object, defference, shuffle, sample, invoke, first, rest, last, initial ,
union, intersection, uniq, zip, compact, indexOf, range
를 알아보겠습니다.
1. _.reject, _.filter, _.partition, _.difference
이 함수들은 배열의 원소들을 true/false 기준으로 나누는 함수들 입니다.
_.filter는 true만 남기는 함수, _.reject는 false만 남기는 함수, _.partition은 두가지 기능을 동시에 수행합니다.
_.difference 함수는 차집합의 개념으로 첫번째 파라미터에서 두번째 파라미터를 뺍니다.
위의 샘플에서 확인 하실 수 있습니다.
2. _.toArray, _.values, _.keys, _.object 입니다.
_.toArray와 _.values는 속성에 대한 결과값을 가지고 옵니다.
속성값 자체를 가져오고 싶을 때는 _.keys나 _.allKeys를 사용합니다.
3. _.shuffle, _.sample, _.invoke 입니다.
_.invoke는 첫번째 인자로 배열을 받고 두번째 인자로 (메서드 이름)명령어를 받습니다. (sort, join 등이 있음)
_.shuffle은 받은 배열을 임의로 섞어주고, _.sample은 받은 배열의 원소 중에 몇개를 임의로 뽑아 냅니다.
4. _.first, _.rest, _.last, _.initial
_.fist는 앞에서부터 뽑기 시작하고, _.rest는 앞에서부터 뽑히지 못한 나머지를 뽑는다.
_.last는 뒤에서부터 뽑기 시작하고, _.initial은 뒤에서부터 뽑히지 못한 나머지를 뽑는다.
_.first와 _.rest가 한 셋트 이고 _.last와 _.initial이 한 셋트 이다.
5. _.union, _.interaction, _.uniq
합집합, 교집합, 차집합(_.difference) 의 의미를 구현한 함수입니다.
_.uniq는 중복을 제거해 줍니다.
6. _.zip
배열들을 받아서, 배열내 index를 기준으로 새로운 배열로 묶어줍니다.
7. _.compact, _.indexOf
_.compact는 0이나 false, null, "" 등을 제거해줍니다.
_.indexOf는 내가 찾고자 하는 원소가 몇 번째에 있는지를 알려 줍니다.
8. _.range
다른 함수에 비해 다른 부분이 있다면 기준이 되는 object나 array를 인자로 넘기지 않습니다.
기준은 정수배열입니다.
세번째 인자로 step을 설정할 수 있습니다.
_.range([start], stop, [step])
후속 포스팅에서 계속 이어나가도록 하겠습니다.
'프론트엔드' 카테고리의 다른 글
underscore 알아보기 (3) (0) | 2017.10.10 |
---|---|
마이크로서비스 UI - 마이크로프론트엔드 (0) | 2017.09.14 |
underscore 알아보기 (1) (0) | 2017.07.19 |
!# 해쉬뱅 알아보기 (0) | 2017.05.29 |
React vs Angular : 리액트와 앵귤러 비교 (0) | 2017.05.22 |