2차원 배열을 1차원 배열로 변환하는 작업은 JavaScript에서 flat() 메서드를 사용하여 간단하게 수행할 수 있지만, 이 변환을 수행하는 다른 방법을 알아봄으로써 JavaScript 배열에 대한 이해를 더욱 깊이 있게 할 수 있다. 이 포스트에서는 이 작업을 수행하는 네 가지 다른 방법을 설명한다.
Array.flat()은 배열을 평탄화하는 내장 메서드이다.
const twoDArray = [[1, 2], [3, 4]];
const oneDArray = twoDArray.flat();
console.log(oneDArray); // 결과: [1, 2, 3, 4]
이 방식은 간결하고 목적에 맞게 작성되었지만, 일부 오래된 브라우저에서는 지원되지 않을 수 있다.
Spread 구문은 인자가 예상되는 위치에서 iterable을 확장하는 데 사용될 수 있다. 이를 사용하여 2차원 배열을 평탄화할 수 있다.
const twoDArray = [[1, 2], [3, 4]];
const oneDArray = [].concat(...twoDArray);
console.log(oneDArray); // 결과: [1, 2, 3, 4]
이 접근 방식은 직관적이고 현대적이지만, 깊게 중첩된 배열에는 적합하지 않을 수 있다.
Array.reduce()를 사용하여 2차원 배열을 1차원 배열로 변환할 수 있다.
const twoDArray = [[1, 2], [3, 4]];
const oneDArray = twoDArray.reduce((acc, val) => acc.concat(val), []);
console.log(oneDArray); // 결과: [1, 2, 3, 4]
이 방법은 다양하게 활용할 수 있지만, reduce 메서드에 익숙하지 않은 사람들에게는 가독성이 떨어질 수 있다.
forEach() 루프를 사용하여 배열을 수동으로 평탄화할 수 있다.
const twoDArray = [[1, 2], [3, 4]];
let oneDArray = [];
twoDArray.forEach(subArray => oneDArray.push(...subArray));
console.log(oneDArray); // 결과: [1, 2, 3, 4]
이 방법은 세밀한 제어를 제공하지만, 덜 우아한 방법으로 간주될 수 있다.
위에서 설명한 각 방법은 독특한 목적을 가지며, 특정 이점과 단점을 갖고 있다. 이러한 방법을 연습함으로써 자바스크립트 Array에 대해 보다 깊이있는 이해를 할 수 있을 것이다.
CloneCoding
한 줄의 코드에서 시작되는 혁신!