[javascript] 배열 순회할 때 새로운 배열 생성하기

자바스크립트에서는 배열을 순회하면서 새로운 배열을 생성하는 방법이 여러 가지가 있습니다. 이를 통해 기존 배열을 변경하지 않고 원하는 작업을 수행할 수 있습니다. 이번 글에서는 그 중에서 몇 가지 방법을 살펴보겠습니다.

1. for문을 활용한 방법

가장 기본적인 방법으로는 for문을 활용하여 배열을 순회하고 각 요소를 새로운 배열에 추가하는 방법입니다. 다음은 이 방법을 사용한 예시 코드입니다.

let arr = [1, 2, 3, 4, 5];
let newArr = [];

for(let i = 0; i < arr.length; i++) {
  newArr.push(arr[i] * 2);
}

console.log(newArr); // [2, 4, 6, 8, 10]

위 코드에서는 newArr이라는 빈 배열을 만든 후, for문을 통해 arr 배열을 순회하면서 각 요소에 2를 곱한 결과를 newArr에 push하고 있습니다.

2. map 메서드를 활용한 방법

다음으로 소개할 방법은 배열의 map 메서드를 활용하는 것입니다. map 메서드는 배열의 각 요소에 대해 주어진 콜백 함수를 실행한 결과를 새로운 배열로 반환합니다. 다음은 map 메서드를 사용한 예시 코드입니다.

let arr = [1, 2, 3, 4, 5];

let newArr = arr.map((item) => {
  return item * 2;
});

console.log(newArr); // [2, 4, 6, 8, 10]

위 코드에서는 arr 배열을 map 메서드로 순회하면서 각 요소에 2를 곱한 결과를 새로운 배열 newArr에 저장하고 있습니다.

3. reduce 메서드를 활용한 방법

reduce 메서드는 배열의 요소를 순회하면서 주어진 콜백 함수를 실행하고, 최종 결과를 반환하는 메서드입니다. reduce 메서드를 활용하여 새로운 배열을 생성할 수도 있습니다. 다음은 reduce 메서드를 사용한 예시 코드입니다.

let arr = [1, 2, 3, 4, 5];

let newArr = arr.reduce((accumulator, item) => {
  accumulator.push(item * 2);
  return accumulator;
}, []);

console.log(newArr); // [2, 4, 6, 8, 10]

위 코드에서는 reduce 메서드를 사용하여 초기값으로 빈 배열을 주고, 콜백 함수를 순회하면서 배열에 각 요소에 2를 곱한 값을 push하고 있습니다.

결론

위에서 소개한 방법들은 배열을 순회하면서 새로운 배열을 생성하는 몇 가지 일반적인 방법입니다. 각 방법은 목적에 따라 선택하여 사용할 수 있으며, 사용하는 방식에 따라 코드의 가독성과 성능에 영향을 미칠 수 있습니다. 적절한 방법을 선택하여 원하는 작업을 수행하면 됩니다.

참고 자료: