어제 오늘 내일

[Javascript] forEach에서 continue 구현하기 본문

IT/Javascript

[Javascript] forEach에서 continue 구현하기

hi.anna 2020. 10. 17. 14:12

 

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)

 

[Javascript] 반복문(4) - 배열 반복문 for...of (ES6)

이번에 알아볼 반복문은 for...of 입니다. for...of 는 ES6에 추가된 문법입니다. 이 반복문은 배열 또는 map객체 등 iterable 객체의 값들을 순회할 수 있습니다.  for...of for(variable of object) { statemen..

hianna.tistory.com

 

 

 

 

반드시 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()

 

[Javascript] 배열의 특정 값 찾기 - find(), filter()

배열에서 특정 값을 찾는 방법을 알아보고 있습니다. 앞에서는 특정 값이 배열에 존재하는지, 존재한다면 어느 위치에 있는지 찾는 방법을 알아보았습니다. [Javascript] 배열 특정 값 위치(index) 찾

hianna.tistory.com

 

forEach 문에서는 continu문을 사용할 수 없기 때문에,

continue문 대신 사용할 수 있는 방법을 알아보았습니다.

 

 

반응형
Comments