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 |
Tags
- 책읽기
- 성수볼거리
- 객체지향
- JAVA개발자
- 성수핫플
- 주니어개발자
- IntelliJ
- 깨끗한코드
- 코딩
- 직장인
- DesignPattern
- 직장인점심
- 성수직장인
- 헤드퍼스트
- 개발자
- 상속
- Linux
- 성수
- 클린코드
- JavaScript
- 헤드퍼스트디자인패턴
- docker
- 객체지향프로그래밍
- 책너두
- 독서일지
- 오브젝트
- Java
- 독서
- 디자인패턴
- 성수맛집
Archives
- Today
- Total
런타임노트
[JS] forEach(), ARROW function 본문
728x90

forEach()
MDN참조
주어진 함수를 배열 요소 각각에 대해 실행함.
array1.forEach(element => console.log(element));
// expected output: "a"
// expected output: "b"
// expected output: "c"
for 반복문을 forEach()로 바꿀 수 있다
const items = [ 'item1', 'item2', 'item3' ];
const copy = [];
// 반복문
for (let i =0; i <items.length; i++){
copy.push(items[i]);
}
// forEach 구문 사용
items.forEach(function(item){
copy.push(item);
});
이렇게 반복문 손쉽게 고칠 수 있음.
function logArrayElements(element, index, array) {
console.log('a[' + index + '] = ' + element);
}
// 인덱스 2는 배열의 그 위치에 항목이 없기에
// 건너뜀을 주의하세요.
[2, 5, , 9].forEach(logArrayElements);
// 기록:
// a[0] = 2
// a[1] = 5
// a[3] = 9
이런식으로 함수가 들어가서 조건에 맞게 출력도 가능함.
function flatten(arr) {
const result = []
arr.forEach((i) => {
if (Array.isArray(i)) {
result.push(...flatten(i))
} else {
result.push(i)
}
})
return result
}
// Usage
const nested = [1, 2, 3, [4, 5, [6, 7], 8, 9]]
flatten(nested) // [1, 2, 3, 4, 5, 6, 7, 8, 9]
배열 평탄화 가능
forEach 는 return 이 없다 따라서 아래처럼 함수 밖에 변수를 사용해 결과를 나타내야함
const arr = [0,1,2,3,4,5,6,7,8,9,10];
const oddArray = [];
arr.forEach(function(element){
if(element%2==1) {
oddArray.push(element);
}
});
console.log(oddArray); // [ 1, 3, 5, 7, 9 ]
그럼에도 불구하고
for문은 continue(지나침) 나 break(멈춤) 로 제어할 수 있다.
그러나 forEach는 throw(예외)를 발생시키지 않으면 중간에 반복을
멈출 수 없다.
Arrow function
const arr = [0,1,2,3,4,5,6,7,8,9,10];
arr.forEach(function(element){
console.log(element); // 0 1 2 3 4 5 6 7 8 9 10
});
// 혹은 arrow 함수 가능
arr.forEach(element => console.log(element);

728x90
반응형
'Javascript, jQuery' 카테고리의 다른 글
| [JS] var와 let (0) | 2023.10.18 |
|---|---|
| [jQuery] 버튼을 눌렀을 때 같은 줄에 있는 데이터 가져오기 (0) | 2023.09.14 |
| [jQuery] undefined 와 null 차이점 및 값 체크하기 (0) | 2023.09.13 |
| [JS] 문자열 줄 바꿈하기 (2) | 2023.03.24 |
| [JS] splice : 배열 중간에 값 추가하기 (0) | 2023.03.23 |