코딩을 할 때 반복문은 빠질 수 없는 신텍스다
대부분을 for 문법을 통해 하는게 가장 익숙한 방법이지만
javascript에서 친절(?) 하게 사용할 수 있는 다른 반복문들이 있다.
for 조합되는 for in, for of 등도 있지만
배열 사용의 상황에서 사용할 수 있는
반복문을 포스팅하겠다.
Array의 Prototype에 보면 이미 선언된 여러가지 유용한 Function들이 있지만
그 중 반복 기능을 하는 7가지에 대해 알아보겠다.
책이나 교육강의 등에서는 일반적으로
let iamArray = [1,4,7,5,3,9];
for(let i = 0; i<iamArray.length; i++) {
console.log(iamArray[i]);
}
<<< result >>>
1
4
7
5
3
9
이런 식으로 활용한다.
매우 좋은 반복구문이지만
여기서는 좀 더 깔끔하고 쉽고 유용하게 활용할 방법에 대해 소개하겠다.
위와 똑같은 것을 아래와 같이 만들 수 있다.
1.forEach
let iamArray = [1,4,7,5,3,9];
iamArray.forEach((value)=>{
console.log(value);
})
<<< result >>>
1
4
7
5
3
9
배열의 값을 index순으로 순차적으로 돌려준다.
기능은 동일하지만 코드의 양이나 보기에도 더 깔끔하게 보인다.
(뭔가 좀 있어보인다.고수냄새나잖아)
2. map
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.map((value)=>{
return value+1;
})
console.log(returnVal);
<<< result >>>
[ 2, 5, 8, 6, 4, 10 ]
기능은 forEach랑 동일하나
map에서는 항상 return이 있어야 한다.
그리고 map은 배열타입으로 return한다.
일반적으로 API연동 시 특정 값을 뽑아내 사용하는데 유용하다.
3.filter
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.filter((value)=>{
return value>5;
})
console.log(returnVal);
<<< result >>>
[ 7, 9 ]
filter는 map처럼 return이 있어야하고 배열로 return한다.
filter는 map에서 조건에 해당되는 값만 리턴해줄 수 있다.
말 그대로 조건에 부합되는 값만 "필터링" 해주는 것이다.
4.some
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.some((value)=>{
return value>5;
})
console.log(returnVal);
<<< result >>>
true
some은 filter랑 기능이 동일하지만 return되는 타입만 다르다.
some은 해당 배열에 조건에 부합되는 값이 있는지 확인하여 boolean(true/false)타입으로 리턴해준다.
5.every
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.every((value)=>{
return value>5;
})
console.log(returnVal);
<<< result >>>
false
every는 모든 some과 기능이 동일하지만
some에서는 조건에 부합되는 것이 있으면 true였고
every에서는 "모두가" 조건에 부합되는지에 대해 boolean으로 리턴해준다.
6.find
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.find((value)=>{
return value>5;
})
console.log(returnVal);
<<< result >>>
7
find는 말그대로 배열에서 조건에 부합되는 값을 찾아주는 함수다.
단 filter처럼 전체를 찾는 것이 아니라 처음에 걸리는(index순서로) 1개의 값만 찾아서 리턴해준다.
7.findIndex
let iamArray = [1,4,7,5,3,9];
const returnVal = iamArray.findIndex((value)=>{
return value>5;
})
console.log(returnVal);
<<< result >>>
2
find랑 똑같다.
다만 리턴을 value로 하는 것이 아니라 조건에 부합되는 value의 Index 값을 리턴해준다.
즉 위 코드에서 7에 해당되는 index 인 2가 리턴된다.
이상 Javascript의 Array의 Prototype을 활용할 수 있는 7가지 반복 구문 방법에 대해 알아보았다.
적절하고 적합하게 잘 활용해서 깔끔한 코드를 만들어보자.
'기술의기록' 카테고리의 다른 글
[HTML]아코디언 메뉴 쉽게 만드는 태그 Details (21) | 2022.02.07 |
---|---|
[Javascript] 배열 앞뒤값을 활용하는 Array.prototype.reduce (4) | 2022.02.04 |
[HTML] 프로그래스바 1분만에 만들기 (12) | 2022.01.24 |
[HTML] input의 자동완성 기능 datalist (6) | 2022.01.19 |
[React] IIS 서비스 환경에서새로고침 시404 에러 방지법 (0) | 2022.01.10 |