Javascript&Typescript

[JS] for & forEach & map

alexrider94 2021. 2. 6. 20:00

 

1. for()

- 조건에 부합하면서 데이터 순회

- 중간에 break; 로 반복문을 중단

for ([initialization]; [condition]; [final-expression])
	statement

2. forEach()

- 각 요소에 대해 callback을 실행 ( 각 array의 element마다 제공된 함수를 실행)

- break; 문을 사용할 수 없음.

- 반환이 없음.

array.forEach(callback(currentValue[, index[, array]])[, thisArg])

3. map()

- 각 요소에 대해 callback을 실행

- 메모리를 할당하고 *새 배열을 리턴. 

- break; 문을 사용할 수 없음.

array.map(callback(currentValue[, index[, array]])[, thisArg])

 

 

4. 예제

let dataA = [1, 2, 3, 4];
let result = [];

// for
for (let i = 0; i < dataA.length; ++i) {
    result.push(dataA[i]);
}

// forEach
dataA.forEach((v) => {
    result.push(v);
})

// map
dataA.map((v) => {
    result.push(v);
})

성능 테스트

위의 속도 성능테스트를 보고 어느것이 좋다를 판단하기보다는 각 상황에 맞게 사용하는것이 옳다.

* 함수형 프로그래밍을 선호하면 map()을 사용하는게 좋음.