본문 바로가기
JavaScript 이론

배열의 반복

by 혀닙 2022. 2. 9.

다음과 같은 배열이 있다고 가정하자

arr = [1,2,3,4,5]

 

1. arr.forEach

let x = arr.forEach(v=>console.log(v))
//1
//2
//3
//4
//5
forEach 메서드는 return이 없다는 것이 아래 메서드들과의 가장 큰 차이점이다.
forEach 메서드가 적용된 배열 반복의 반환값은 undefined이다.

2. arr.filter

//arr배열에서 짝수만을 골라서 변수 evenNum에 담아보자

let evenNum = arr.filter(v => v%2==0 )	//[2,4] 출력
filter 메서드의 return값은 불리언이며, return값이 true인 기존배열의 요소를 골라내어 배열 형태로 반환한다.

 

3. arr.map

//arr배열의 모든 값의 제곱을 배열형태로 반환해보자
let squareNum = arr.map(v=>v*v)	//[ 1, 4, 9, 16, 25 ] 반환
map 메서드의 return값은 연산식의 값이며, 기존 배열의 모든 요소를 연산하여 배열 형태로 반환한다.

 


 

잠깐, 지금까지 배운 filter와 map을 응용해보자.

실제로 둘은 자료 가공에 있어서 많이 사용 되는 조합이며, 주로 다음과 같이 사용된다.

 

기본배열 안에 많은 요소들이 존재한다고 할 때,

filter 메서드로 기본 배열 중 특정 요소들만을 골라내어 새로운 배열로 만든다.

그 골라진 요소들이 들어있는 배열 전체에 대하여 map 메서드로 값에 변화를 준다.

 

자, 그럼 위의 arr 배열에서 홀수 요소만을 골라내어 제곱한 후 oddSquareNum이라는 변수에 담아보자

let oddSquareNum = arr.filter(v=>v%2!=0)
                      .map(v=>v*v)
//[ 1, 9, 25 ]

 

 

 


 

 

4. arr.reduce

얜..들었는데 잘 모르겠다....나중에 또 볼 날이 있겠지?

 

'JavaScript 이론' 카테고리의 다른 글

history 인터페이스  (0) 2022.05.02
#1 Promise와 then  (0) 2022.01.28
1/5 끌어올리기(Hoisting) 개념  (0) 2022.01.05

댓글