자바스크립트에서 배열을 하나로 병합하는 함수
이제 임의의 수의 배열을 매개변수로 받아
그 요소들을 하나의 배열로 병합하는
merge 함수를 구현해 봅시다.
다음은 우리 함수가 작동하는 예시입니다:
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9]를 출력합니다
구현을 시작해 보겠습니다. 먼저 전달된 배열들을 하나의 2차원 배열 형태로 받아 봅시다:
merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
function merge(...arrs){
console.log(arrs); // [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]를 출력합니다
}
이제 이 2차원 배열을 1차원 배열로 병합해 봅시다.
이를 위해 concat 메서드와
spread 연산자를 사용하겠습니다:
let arrs = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];
let result = [].concat(...arrs);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9]를 출력합니다
이 코드를 우리의 merge 함수에 추가해 봅시다:
function merge(...arrs) {
return [].concat(...arrs);
}
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9]를 출력합니다
보시다시피, 이 함수 또한 매우 간결하게 작성되었습니다.