Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

현우의 개발상자

JS 배열의 요소 순회하기 (for of, forEach,reduce) 본문

tech blog

JS 배열의 요소 순회하기 (for of, forEach,reduce)

FrontEnd 개발자 준비생 최현우 2023. 8. 13. 19:32
728x90

JS

for of 


for of 는 배열의 요소를 하나씩 꺼내어 사용하는 방법을 말한다. 

좀 더 어려운 말로 '배열의 각 요소를 순회하며 처리한다'로 표현할 수 있다.

(iterable 객체의 요소에 대해 반복하는 데 사용되는 반복문, 이번 글에서는 배열에 관해서만 설명하겠다.)

for of 의 기본 구문

for (let element of array) {
    // element(요소)에 대한 작업 수행
}

for of 의 사용 예시

const fruits = [apple, banana, orange, kiwi, strawberry];

for (const fruit of fruits) {
    console.log(fruit);
}

// 출력
// apple
// banana
// orange
// kiwi
// strawberry

for of 의 특징

1. 간결함 : 배열의 인덱스를 다룰 필요 없이 요소를 직접 다루므로 코드가 더 간결해진다.

2. breake와 continue 사용 :  "break" 문을 사용하여 루프를 종료하거나 "continue" 문을 사용하여 현재 반복을 건너뛸 수 있다.

forEach


forEach는 배열의 각 요소에 대해 주어진 함수를 한 번씩 실행하는 메서드이다. 이를 통해 배열의 모든 요소에 접근하고 조작할 수 있다. 

forEach 의 기본 구문

array.forEach(function(currentValue, index, array) {
  // currentValue: 현재 처리 중인 요소의 값
  // index: 현재 처리 중인 요소의 인덱스
  // array: forEach를 호출한 배열 자체
  // 여기서 실행할 작업을 작성
});

forEach 의 사용 예시

const fruits = [apple, banana, orange, kiwi, strawberry];

fruit.forEach(function(fruit, index) {
  console.log(`Index ${index}: ${fruit}`);
});

//출력
//Index 0: apple
//Index 1: banana
//Index 2: orange
//Index 3: kiwi
//Index 4: strawberry

forEach 의 특징

1. 중단을 할 수 없다(return을 통한 종료 불가)

2. 반복 과정 중에 배열 요소를 변경 할 수 없음

reduce


reduce 메서드는 배열의 모든 요소를 순회하면서 주어진 함수를 사용하여 요소들을 하나의 값으로 축소(리듀스)하는 메서드이다. 이를 통해 배열의 요소들을 계산하여 최종 결과를 얻을 수 있다. reduce 메서드는 초기값(initial value)과 함께 사용된다.

reduce 의 기본 구문

array.reduce(function(accumulator, currentValue, index, array) {
  // accumulator: 이전 단계까지의 누적된 결과 값
  // currentValue: 현재 처리 중인 요소의 값
  // index: 현재 처리 중인 요소의 인덱스
  // array: reduce를 호출한 배열 자체
  // 여기서 누적 작업을 수행하고 결과 값을 반환
}, initialValue(초기값));

reduce 의 사용 예시

const numbers = [1, 2, 3, 4, 5];

// accumulator : 이전 단계까지의 누적된 결과 값
// currentValue : 현재 처리 중인 요소의 값

const sum = numbers.reduce(function(accumulator, currentValue) {
  return accumulator + currentValue;
}, 0);

console.log(sum); // 출력 결과: 15

위의 코드는 배열 numbers의 모든 요소를 합산하여 최종 결과 값을 반환한다. reduce 메서드의 초기값(0로 지정한)부터 시작하여 각 요소를 더해나가는 방식으로 합산이 된다.

추가조사


언제 사용하면 좋을지에 대해 조사해봤다.

 

for of

  • 가장 일반적이고 전통적인 배열 순회 방식
  • continue나 break를 사용해야 할 때 사용.

forEach

  • for문보다 코드를 더 간결하게 작성가능(가독성이 더 좋음). 
  • 수행속도가  더 느림
  • continue와 break 사용불가.
  • 따라서, 서비스의 성능을 생각한다면 복잡하더라도 for문으로 구현하는게 좋을 것 같다는 생각이 들었음.

reduce

  • 배열의 요소를 합치거나, 변형하여 새로운 값을 계산할 때 유용함

'tech blog' 카테고리의 다른 글

JS 윈도우 (Window) 객체  (0) 2023.08.27
함수의 기본 개념  (2) 2023.08.06
선택자 우선순위  (0) 2023.07.24
GET vs POST  (0) 2023.07.23
웹접근성  (0) 2023.07.16