Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- nodejs
- dayjs
- WebView
- route
- javascriptcore
- form
- 업로드
- 순열
- 알고리즘
- ios
- androidStudio
- 배열
- 이미지
- ECMAScript
- 백준
- react
- autofocus
- AoS
- CSS
- 제로베이스 프론트엔드 스쿨
- 제로베이스
- Flutter
- 웹뷰
- nextjs
- Kotlin
- V8
- 안드로이드
- html
- 인앱웹뷰
- javascript
Archives
- Today
- Total
FE 개발자의 성장 기록👩💻
JavaScript 배열 관련 메서드(5) - forEach(), map(), find(), filter(), reduce() 본문
자료구조
JavaScript 배열 관련 메서드(5) - forEach(), map(), find(), filter(), reduce()
yeeebin 2022. 10. 15. 16:00공부하며 기록한 것이기 때문에 틀린 부분이 있을 수 있습니다. 발견하시면 댓글 부탁드려요:)
🔴 Array.forEach()
요소 별로 각각 콜백함수를 실행한다.
let nums = [1,2,3];
nums.forEach(function (i){
console.log(i)
})
/* output
1
2
3
*/
🟠 Array.map()
요소 별로 콜백함수를 실행하고, 그 결과를 배열로 반환한다.
let nums = [1,2,3,4,5];
let use_map = nums.map(function (item){
return item * 2;
})
console.log(use_map); //output: [ 2, 4, 6, 8, 10 ]
🟡 Array.find()
요소들 중 콜백 함수의 조건을 만족하는 첫 번째 값만 반환한다.
let users = [
{ name: "bob", age: 17, job: false},
{ name: "yebin", age: 23, job: false},
{ name: "john", age: 27, job: true}
];
let find_job = users.find(function (user){
return user.job == false;
});
console.log(find_job); //output: { name: 'bob', age: 17, job: false }
let find_age = users.find(function (user){
return user.age > 19; //output: { name: 'yebin', age: 23, job: false }
})
console.log(find_age);
🟢 Array.filter()
요소들 중 콜백 함수의 조건을 만족하는 값들을 배열로 반환한다.
let users = [
{ name: "bob", age: 17, job: false},
{ name: "yebin", age: 23, job: false},
{ name: "john", age: 27, job: true}
];
let filter_job = users.filter(function(user){
return user.job == false;
});
console.log(filter_job);
/*output:
[
{ name: 'bob', age: 17, job: false },
{ name: 'yebin', age: 23, job: false }
]
*/
let filter_age = users.filter(function (user){
return user.age > 19;
});
console.log(filter_age);
/*output:
[
{ name: 'yebin', age: 23, job: false },
{ name: 'john', age: 27, job: true }
]
*/
🔵 Array.reduce()
요소 별로 함수 수행 누적 결과값을 반환한다.
accumulator : 이전 함수 결과
( initial로 초기값 설정 가능 → 초기값이 없다면 index 1부터 시작 )
item : 요소 값
index : 요소의 인덱스
let nums = [1,2,3,4,5];
let call_count = 0;
console.log("result\tvalue\tindex");
let sum = nums.reduce(function(accumulator, item, index, array){
console.log(accumulator, "\t\t", item, "\t\t", index);
call_count++;
return accumulator+item; //초기값 부터 각 요소를 더한 결과를 반환
}, 0); //initial ( = 0 )이 없다면 index 1부터 시작
/*output:
result value index
0 1 0
1 2 1
3 3 2
6 4 3
10 5 4
*/
console.log(call_count); //output: 5
console.log(sum); //output: 15
'자료구조' 카테고리의 다른 글
JavaScript 연결 리스트 ( Linked List ), 이중 연결 리스트 ( Double Linked List ), 원형 연결 리스트 ( Circular Linked List ) (0) | 2022.11.14 |
---|---|
JavaScript 배열 관련 메서드(6) - some, every (0) | 2022.10.15 |
JavaScript 배열 관련 메서드(4) - sort, reverse, join (0) | 2022.10.14 |
JavaScript 배열 관련 메서드(3) - indexOf, lastIndexOf, includes (0) | 2022.10.14 |
JavaScript 배열 관련 메서드(2) - push, pop, unshift, shift, splice, slice, concat (0) | 2022.10.14 |
Comments