[javascript] 배열 순회 시 특정 요소 개수 세기
배열에서 특정 요소의 개수를 세는 방법은 많습니다. 이번 포스트에서는 JavaScript를 사용하여 배열을 순회하고 특정 요소의 개수를 세는 방법을 알아보겠습니다.
1. for문을 이용한 방법
const arr = [1, 2, 3, 4, 4, 5, 4];
const target = 4;
let count = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) {
count++;
}
}
console.log(count); // 결과: 3
위의 코드에서는 for문을 이용하여 배열을 순회하고, 현재 요소가 target과 동일한지 비교하여 개수를 증가시킵니다. 마지막으로 count 변수를 출력하여 결과를 확인할 수 있습니다.
2. filter 메서드를 이용한 방법
const arr = [1, 2, 3, 4, 4, 5, 4];
const target = 4;
const filteredArr = arr.filter(item => item === target);
const count = filteredArr.length;
console.log(count); // 결과: 3
위의 코드에서는 filter 메서드를 이용하여 배열에서 target과 동일한 요소만 걸러낸 후, 그 개수를 count 변수에 저장하고 출력합니다.
3. reduce 메서드를 이용한 방법
const arr = [1, 2, 3, 4, 4, 5, 4];
const target = 4;
const count = arr.reduce((accumulator, currentValue) => {
if (currentValue === target) {
return accumulator + 1;
}
return accumulator;
}, 0);
console.log(count); // 결과: 3
위의 코드에서는 reduce 메서드를 이용하여 배열을 순회하고 target과 동일한 요소를 만날 때마다 accumulator 변수를 1씩 증가시킵니다. 초기값으로 0을 설정하여 초기 상태를 지정합니다.
각각의 방법은 목적에 따라 사용할 수 있습니다. for문은 가장 기본적인 방법이며, filter와 reduce 메서드는 배열의 특정 요소를 걸러내는 데에 더 적합한 방법입니다.
다른 문제에서도 유용하게 활용할 수 있는 방법들이니, 필요에 따라 적절하게 선택하여 사용하시기 바랍니다.
참고 자료: