자바스크립트 배열 연결하기.

 JavaScript의 Array 객체는 두 개의 배열을 연결할 수 있는 concat 메서드를 제공한다.

var arr1 = [1, 2, 3];
var arr2 = ['a', 'b', 'c'];

var new_arr = arr.concat(arr2);
// arr1 뒤에 arr2를 이은 새로운 배열을 반환한다.

// arr1 : [1, 2, 3];
// arr2 : ['a', 'b', 'c'];
// new_arr : [1, 2, 3, 'a', 'b', 'c'];

 정확히 말하면 두 배열의 모든 요소를 복사한 새로운 배열을 만들고, 기존 배열의 내용은 바뀌지 않는다. 그리고 concat은 세 개 이상의 배열을 연결한 새로운 배열을 만들 수도 있다.

 하지만 굳이 원래 배열들의 형태를 유지할 필요가 없고, 새로운 배열이 선언되는 낭비를 줄이고 싶다면 push와 apply를 이용해서 배열을 연결할 수 있다.

arr1.push.apply(arr1, arr2);

// arr1 : [1, 2, 3, 'a', 'b', 'c'];
// arr2 : ['a', 'b', 'c'];

 push 메서드는 두 개 이상의 인자를 넘겨 배열의 맨 뒤에 붙일 수 있다.

arr1.push(4, 5);

// arr1 : [1, 2, 3, 4, 5];

 apply 메서드는 수신자 함수에서 참조하게 될 this값을 첫 번째 인자로 넘기고, 수신자 함수로 넘어갈 인자들을 배열 형태로 넘길 수 있다.

arr1.push.apply(arr1, arr2)

// 아래와 동일한 방법이다.
arr1.push('a', 'b', 'c');


 

'JavaScript' 카테고리의 다른 글

[JavaScript] Trailing Comma 번역자료  (0) 2017.10.02
[JavaScript] 변수 스코프  (0) 2017.04.13
[JavaScript] 생성자 함수  (0) 2017.02.27
[JavaScript] 동등, 일치 연산자  (0) 2016.10.04

+ Recent posts