본문 바로가기
IT/JavaScript

자바스크립트 핵심 가이드 - (배열 메소드)

by 최고영회 2013. 12. 23.
728x90
반응형
SMALL

 

array.concat(item...)

 : 자신의 복사본에 인수로 넘어온 값들을 추가한 새로운 배열을 반환한다.

   인수로 넘어온 값이 배열이면 각각의 요소를 개별적으로 새로운 배열에 추가 한다. 

   var a = ['a', 'b', 'c'];

   var b = ['x', 'y', 'z'];

   var c = a.concat(b, true);  // c는 ['a', 'b', 'c', 'x', 'y', 'z', true]

 

array.push(item...)

 : push 메소드는 인수로 넘어온 항목을 배열의 끝에 추가한다.

   concat 과 다르게 push 는 배열 자체를 수정하여 넘어온 인수 전체를 배열에 추가 한다.

   반환 값은 배열의 새로운 length 값이다.

   var a = ['a', 'b', 'c'];

   var b = ['x', 'y', 'z'];

   var c = a.push(b, true);  // a는 ['a', 'b', 'c', ['x', 'y', 'z'], true],  c는 5 

 

array.join(구분자)

 : 배열로 문자열을 만든다. 배열로 만드는 과정은 일단 배열의 모든 요소를 각각 문자열로 만든 후에 

   이들을 각 항목 사이에 구분자를 붙여서 하나로 합치는 것이다. 기본 구분자는 ',' 이다. 

   만약 많은 수의 문자열을 하나로 합쳐야 한다면 각각의 문자열을 배열에 담은 후 join 을 사용하는 것

   이 + 연산자로 연결하는 것 보다 빠르다. 

   (단, 최근들어 브라우저의 처리 속도가 개선됨에 따라 브라우저별로 반대의 상황이 벌어지는 

    경우도 있으니, 테스트 해보길 바란다.) - 자바스크립트 성능 최적화 

   var a = ['a', 'b', 'c'];

   a.push('d');

   var c = a.join('');  // c는 'abcd' 

 

array.pop()

 : pop 과 push 메소드는 배열을 스택처럼 동작하게 한다. 

   pop 은 배열의 마지막 요소를 제거하고 제거한 요소를 반환한다.

   var a = ['a', 'b', 'c'];

   var c= a.pop( ); // c는 'c', a는 ['a', 'b']

   pop 메소드는 이렇게 구현해 볼 수 있다.

   Array.method('pop', function( ) {

          return this.splice(this.length - 1, 1)[0];

   }); 

   

array.reverse()

 : 배열 요소의 순서를 반대로 변경한다. 반환값은 배열이다.

   var a = ['a', 'b', 'c'];

   var b = a.reverse( );  // a 와 b 모두 ['c','b','a'] 

 

array.shift()

 : 배열에서 첫 번째 요소를 제거하고 제거한 요소를 반환 한다.

   shift 는 보통 pop 보다 많이 느리다.

   var a = ['a', 'b', 'c'];

   var c = a.shift( ); // a 는 ['b', 'c'], c는 'a' 

 

array.slice()

 : 배열의 특정 부분에 대한 복사본을 만든다. 

   매개변수 start 부터 end 전까지 복사된다. end 는 옵션이며 기본값은 length 이다.

   매개변수 값이 음수일 경우 length 값이 더해 진다. 

   var a = ['a', 'b', 'c'];

   var b = a.slice(0, 1); // b 는 ['a']

   var c = a.slice(1);    // c 는 ['b', 'c']

   var d = a.slice(1,2);  // d 는 ['b'] 

 

array.splice(start, deleteCount, item...)

 : 기존의 배열 요소들을 제거하고 그 부분을 새로운 항목으로 대체 되며, 
   삭제된 요소들을 가진 배열을 반환한다.
   일반적으로 배열에서 요소들을 삭제할 때 많이 사용 된다.
   var a = ['a', 'b', 'c'];

   var r = a.splice(1, 1, 'ache', 'bug');  // a 는 ['a', 'ache', 'bug', 'c'],  r 은 ['b'] 

 

array.sort(비교함수)

 : 배열의 내용을 적절하게 정렬한다. 

   자바스크립트의 기본 비교 함수는 정렬된 배열 요소들을 문자열로 간주하기 때문에 숫자들의 배열을

   제대로 정렬하지 못한다.

   var n = [4, 14, 7, 16, 23, 42];

   n.sort( );  // n 은 [14, 16, 23, 4, 42, 7] 

비교함수를 아래와 같이 바꿔서 하면 숫자들의 배열을 정상적으로 정렬할 수 있다.

   n.sort( function (a, b) {

       return a - b;

   });

   // n 은 [4, 7, 14, 16, 23, 42]; 

 

array.unshift(item...)
 : 항목들을 배열의 뒤가 아니라 앞에다가 추가한다는 점만 빼고 push 메소드와 같다. 
   배열의 새로운 length 를 반환한다.
   var a = ['a', 'b', 'c'];

   var r = a.unshift('?', '@');   // a 는 ['?', '@', 'a', 'b', 'c'],   r 은 5 

 


   
   


728x90
반응형
LIST