일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript
- windows
- table
- Eclipse
- 이클립스
- list
- 인텔리제이
- 이탈리아
- Files
- Java
- 테이블
- Array
- date
- Maven
- string
- input
- ArrayList
- 자바스크립트
- vscode
- CSS
- json
- html
- 문자열
- 배열
- js
- Visual Studio Code
- 자바
- Button
- CMD
- IntelliJ
- Today
- Total
어제 오늘 내일
[Javascript] forEach에서 continue 구현하기 본문
Javascript의 forEach 반복문에서는 continue 구문을 사용할 수 없습니다.
그렇다면, continue처럼
반복문 내에서 특정 값을 제외하고 실행하고 싶을 때는 어떻게 해야 할까요?
1. for...of 구문 사용하기
const arr = [1, 2, 3];
for (const element of arr) {
if(element === 1) continue;
document.writeln(element);
}
가장 간단한 방법은 forEach문 대신에 continue 구문을 사용할 수 있는 다른 반복문을 사용하는 것입니다.
for, for..of 문은 continue를 사용할 수 있습니다.
for..of 문을 좀 더 알고 싶다면 아래 링크를 참조하세요.
[Javascript] 반복문(4) - 배열 반복문 for...of (ES6)
반드시 forEach문을 사용해야 한다면, 다음의 방법을 이용해 볼 수 있습니다.
2. return문 사용하기
const arr = [1, 2, 3];
arr.forEach(element => {
if (element === 1) {
return;
}
document.writeln(element);
});
forEach문은 배열의 모든 값을 순회하기 때문에, 특정 값의 처리를 건너 뛰고 싶으면
continue 대신에 return문을 사용할 수 있습니다.
그러면, 해당 값의 처리를 건너 뛰고, 배열의 다음 값을 처리합니다.
3. filter 사용하기
const arr = [1, 2, 3];
arr
.filter(element => element !== 1)
.forEach(element => document.writeln(element));
filter함수를 이용해서 처리할 값으로만 배열을 새로 만든 후,
새로 만들어진 배열을 이용하여 forEach하는 방법입니다.
filter() 함수는 특정 조건에 부합하는 배열의 모든 값을 배열 형태로 리턴합니다.
위 예제에서 filter 함수는 '값이 1이 아닌 element'만으로 새로운 배열을 만들어서 '배열 [2, 3]'을 리턴합니다.
forEach함수는 이 '배열 [2, 3]'을 처리하게 되는 것입니다.
filter 함수에 대해서 좀 더 알고 싶다면 아래 링크를 참조하세요.
[Javascript] 배열의 특정 값 찾기 - find(), filter()
forEach 문에서는 continu문을 사용할 수 없기 때문에,
continue문 대신 사용할 수 있는 방법을 알아보았습니다.
'IT > Javascript' 카테고리의 다른 글
[Javascript] 객체에 특정 속성이 존재하는지 체크하는 3가지 방법 (0) | 2020.10.19 |
---|---|
[Javascript] 배열 초기화(빈 배열로)하는 4가지 방법 (0) | 2020.10.17 |
[Javascript] 배열 값 중복 체크하는 3가지 방법 (1) | 2020.08.14 |
[Javascript] input 박스에 숫자만 입력되도록 설정하는 4가지 방법 (3) | 2020.08.12 |
[Javascript] node type 체크하기 (0) | 2020.08.11 |