티스토리 뷰
Array 가지고 이런저런 장난을 쳐보자
inventors 오브젝트 배열을 가지고 놀아보자
|
1) first, last, year, passed 값을 가지고 있는 구조체가 있고, 2) 그 구조체들로 이루어진 배열이 있다.
이걸로 장난을 쳐보자 |
|
Array.prototype.filter()
Filter the list of inventors for those who were born in the 1500's → 1500 년대에 태어난 inventor 를 추려내보자
filter() 는 먹여주는 함수가 true 를 return 하는 경우만 추가해서 회신한다. 1) 익명함수로 리턴값이 true 인 경우만 filtering 해서 회신해준다. 2) 화살표 함수로 좀더 간결하게 표현 가능. 하지만 아직은 좀 낯선 방식이다. |
|
Array.prototype.map()
Give us an array of the inventors' first and last names → inventor 의 퍼스트, 라스트 네임을 배열로 뽑아내보자
map() 은 입력값을 받아서 함수가 만들어주는 출력값으로 만들어 회신해준다.
|
|
Array.prototype.sort()
Sort the inventors by birthdate, oldest to youngest → 생년을 기준으로 나이 많은 순서대로 정렬
sort() 에 먹인 함수가 음수를 리턴하면 그대로, 양수를 리턴하면 둘의 순서를 바꾼다.
1) 조건에 대한 양수, 음수 리턴값의 위치를 바꿔보고 2) 꼭 1, -1 이 아니라 100, -100 과 같이 큰 수도 양수 음수이기만 하면 바뀌는 걸 확인함 |
// output // total years: 861 |
Array.prototype.reduce()
How many years did all the inventors live? - 모든 inventor 들의 살아온 시간들의 합
화살표 함수가 정의된 직후에 total 의 초기값을 0 으로 해두었다.
reduce() 함수는 두 개의 파라미터를 받는데, 첫번째는 reducer 함수, 두번째는 초기값이다. (참고 코드)
|
|
Sort the inventors by years lived → 이번에는 살아온 햇수
다시 한 번 복습하자.
sort() 함수는 파라미터로 들어간 함수가 - 음수를 회신하면 순서를 그대로 두고, - 양수를 회신하면 순서를 바꾼다.
|
create a list of Boulevards in Paris that contain 'de' anywhere in the name
링크: https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris
파리의 길 이름 중 'de' 가 들어간 지명을 모두 찾는 것이다.
이건 위 링크로 가서 F12 Dev Tool 의 console 에서 하나씩 해보는 거다.
1) 링크로 가서 F12 를 열어, Element tab 에서 하나씩 건드려보면, 우리가 원하는 부분은 "mw-category" 이다.
2) 이제 Console tab 에서 아래 명령을 하나씩 수행하면 원하는 값을 얻을 수 있다.
- 우선 `.mw-category` 를 선택하고, 이후 'a' 태그를 모두 선택
- map(), filter() 함수를 사용하기 위해 Array 로 바꾸어야 한다.
- 그리고 마지막으로 map(), filter() 함수를 이용하여 원하는 값을 추출해낸다.
배열 가지고 놀기
sort Exercise
Sort the people alphabetically by last name
- last name (위에서 앞에 나오는 것임) 을 기준으로 알파벳 순서로 sort
1) split 을 이용하여 last name, first name 을 나눠준 다음
2) last name 만을 가지고 sort 작업
|
|
Reduce Exercise
Sum up the instances of each of these
→ 같은 instance 의 개수를 계산해보기
1) reduce() 함수의 두 파라미터는 reducer (reduce 해주는 함수)와 초기값이다.
- 여기서 초기값은 구조체 이므로 {} 라고 되어 있다.
2) obj[item] 자체가 없다면 처음 나온 녀석이므로 초기화를 해주고
3) 이후에 그 값을 하나씩 추가해준다.
'javascript30' 카테고리의 다른 글
06 - Type Ahead (0) | 2019.03.08 |
---|---|
05 - Flex Panel Gallery (0) | 2019.03.06 |
01 - JavaScript Drum Kit - FINISHED (0) | 2019.02.28 |
01 - JavaScript Drum Kit - START (0) | 2019.02.28 |
Start JavaScript 30 - 공부방법 업데이트 (2) | 2019.02.28 |
- Total
- Today
- Yesterday
- websocket
- agile
- solid
- ChatGPT
- API
- 체호프
- ORM
- pool
- 2023
- 노션
- 중용
- 영화
- 인텔리제이
- go
- 명상
- strange
- notion
- folklore
- github
- 잡학툰
- 독서후기
- golang
- 클린 애자일
- Bug
- bun
- postgres
- intellij
- Shortcut
- Gin
- OpenAI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |