728x90

ㅇ 배열
   - 배열은 여러 개의 변수를 한곳에 저장할 수 있는 자료형이다.
   - 자바스크립트에서는 문자열과 숫자, 불, 함수, 객체와 정의되지 않은 자료형까지 총 6가지의 자료형이 존재
   - 배열은 이중 객체의 일종으로, 대괄호([])를 이용해서 생성
   - 배열 안에 입력된 값을 배열 요소라고 부른다.
   - alert(array[1]); // 배열 기호 안에 들어간 숫자를 인덱스(Index)라고 부른다.
   - for (var i in array) 은 for (var i = 0; i < array.length; i++) 와 같은 의미


ㅇ 배열 선언 방법

    - 배열 리터럴 : 대괄호([]) 내에 데이터를 나열하여 배열을 선언하고, 데이터를 할당할 수 있다.

       var arr = [데이터1, 데이터2, 데이터3, ...., 데이터 n];

    - 배열 객체 :

       var arr = new Array(); // 배열 개수 미지정 객체배열 생성

       arr[0] = 2; arr[1] = "one"; arr[2] = 5;


       var arr = new Array(3); // 배열 개수 지정

       arr[0] = 2; arr[1] = "one"; arr[2] = 5;


       var arr = new Array(1, 2, 3, 4, 5); // 배열을 선언함과 동시에 데이터를 배열에 할당


    - 다차원 배열 선언 : 자바스크립트는 기본적으로 다차원 배열을 지원하지 않는다.

      배열안에 배열을 넣는 방식으로 사용은 가능하다.

       var arr = new Array();

       var arr[0] = new Array();

       var arr[0][0] = new Array();


ㅇ 배열 객체의 메소드 및 속성

join(연결문자)

 배열에 저장된 모든 원소를 문자열로 변환한 후 연결하여 출력한다.

 var arr = new Array(1, 2, 3, 4, 5);

 arr.join("-");

 결과 : 1-2-3-4-5

 reverse()

 배열 요소의 순서를 반대로 정렬한다.

 var arr = new Array(1, 2, 3, 4, 5);

 arr.reverse();

 결과 : 5,4,3,2,1

 sort()

 배열 객체 데이터를 오름차순으로 정렬한다.

 push()

 배열의 마지막 위치에 데이터를 추가한다.

 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

 arr.push("레몬");

 document.getElementById("demo").innerHTML = arr;

 pop()

 배열의 마지막 위치의 데이터를 삭제한다.

 shift() 배열의 첫번째 위치의 데이터를 삭제한다.
 
var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 document.write(arr.shift()+"<br />");
 document.write(arr+"<br />");
 출력 결과 :
2,3,4,5,6,7,8,9,10
 unshift() 배열의 첫번째 위치에 데이터를 추가한다.
 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 document.write(arr.unshift("소림사")+"<br />");
 document.write(arr+"<br />");
 출력 결과 :
소림사,1,2,3,4,5,6,7,8,9,10
 length 배열에 저장된 총 데이터의 개수를 반환한다.
 slice

 배열 원소 중 부분적인 범위 내의 원소만 선택하여 배열을 만든다.

 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 var slice = arr.slice(3,7); // 인덱스는 0부터 시작하므로 4번째 인덱스부터
 // slice(start, end); 배열의 start index부터 end 바로 전의 index까지를 선택
 document.write(slice);

 splice

 배열의 지정된 데이터를 삭제하고, 그 구간에 새 데이터를 추가하거나 삭제

 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

 document.write(arr.splice(1,3)); // 두번째 인덱스부터 3개를 삭제

 // 즉 2, 3, 4 를 삭제한다.

 document.write(arr+"<br />"); // 삭제되고 남은 배열 데이터만 출력한다.

 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 document.write(arr.splice(1,3,"마마무","동방신기","소녀시대"));
 
// 두번째 인덱스부터 3개를 삭제하고,

 // 마마무, 동방신기, 소녀시대를 삭제된 곳에 추가한다.
 document.write(arr+"<br />");

 출력 결과 : 1,마마무,동방신기,소녀시대,5,6,7,8,9,10

 filter 배열의 데이터 중에 조건이 참인 데이터만 반환하여 새로운 배열을 생성한다.
 
var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 var fdata = arr.filter(function(val){
     return val >= 5;
 });
 document.write(fdata + "<br />"); 


ㅇ 배열 활용

 최대값 구하기

 배열의 최대값 구하기

 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

 var min = Math.max.apply(null, arr);

 최소값 구하기
 배열의 최소값 구하기
 var arr = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
 var min = Math.min.apply(null, arr);

 이차원 배열

<script>
var arr = new Array();

arr[0] = new Array(); //2차배열 선언
arr[1] = new Array();

arr[0][0] = "이순신";
arr[0][1] = "24세";

arr[1][0] = "홍길동";
arr[1][1] = "35세";

for(var i=0; i<arr.length; i++){
    for(var j=0; j<arr[i].length; j++){
        document.write(arr[i][j]+"<br />");
    }
}
</script>



'Web 프로그램 > js, jQuery' 카테고리의 다른 글

jQuery each 메소드와 map 메소드 차이점  (0) 2018.04.29
jQuery map 함수  (0) 2018.04.29
jQuery - input 배열 수 세기  (0) 2018.04.20
jQuery 체크박스 선택 여부 확인  (0) 2018.04.15
Popup Modal with jQuery  (0) 2018.04.12
블로그 이미지

Link2Me

,