dev/javascript
[javascript] 자바스크립트 forEach, map, filter, find 배열 메소드 사용 예제
최연탄
2019. 12. 6. 17:52
728x90
반응형
자바스크립트에는 배열을 돌며 값을 처리할 수 있도록 도와주는 기능이 있습니다. 단순히 for 루프를 사용하여 각각의 배열 값을 처리할 수도 있지만 사용 목적에 따라 적절한 배열 메소드를 사용하는게 좋습니다.
[].forEach()
가장 기본적인 배열 메소드로써 for 루프와 동일한 기능을 합니다. 파라미터로 현재 배열값과 인덱스를 받을 수 있습니다.
const numberList = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numberList.forEach((item, index) => {
console.log(item, index);
});
for 루프보다 깔끔하게 배열 값을 처리할 수 있습니다.
[].map()
map 메소드는 모든 요소를 돌며 일괄적으로 요소들을 변경하는 기능을 합니다. 파라미터는 forEach와 동일합니다.
const numberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const poweredList = numberList.map((item, index) => {
return item*item;
});
console.log(poweredList);
각각의 배열요소에 일괄적으로 어떤 작업을 하여 리턴하면 그 작업 값의 목록이 새로 생성됩니다.
[].filter()
filter 메소드는 모든 항목을 검사해 특정 조건에 부합하는지 판단을 하여 배열의 요소를 필터하는 기능을 합니다. 파라미터는 map과 동일합니다.
const numberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const filteredList = numberList.filter((item, index) => {
return item >= 5;
});
console.log(filteredList);
콜백함수에서는 boolean 값을 리턴해야합니다.
[].find()
find 메소드는 조건에 부합하는 값을 하나만 찾는 기능을 합니다. 파라미터는 filter와 동일합니다.
const numberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const found = numberList.find((item, index) => {
console.log('index:', index, 'item:', item);
return item > 2;
});
console.log('found:', found);
모든 배열을 돌지 않고 원하는 값을 찾았으면 루프를 종료합니다.
관련 글
반응형