티스토리 뷰
배열(Array)
배열은 연관되어 있는 데이터들을 담아내기 위한 일종의 그릇으로, 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러개의 데이터를 하나의 변수에 저장하기 위한 것이라고 할 수 있다.
배열은 []; 대괄호로 열고 대괄호로 닫아야 한다.
배열의 생성
여러개의 데이터를 하나의 변수에 담아서 관리하고 싶을때에 배열을 사용하면 된다.
;
var member = ['egoing', 'k8805', 'sorialgi']
이 경우에는 egoing, k8805가 key값이고 10이 value(element)값이 된다.
배열에 담겨있는 값을 가져올 때에는 대괄호 안에 숫자를 넣는다. INDEX라고 부르고 0부터 시작된다.egoing을 가져오려면 [0];이라고 해줘야한다.
alert(member[0]);
alert(member[1]);
alert(member[2]);
// egoing
// k8805
// sorialgi 가 출력된다.
배열이 없다면
배열이 없다면 , 새로 배열을만들어 반환(return)을 할 수 있다.
function get_member1(){
return 'egoing';
}
document.write(get_member1());
function get_member2(){
return 'k8805';
}
document.write(get_member2());
function get_member3(){
return 'sorialgi'
}
document.write(get_member3());
이 경우에는 function get_members()안의 리턴값을 반환하고, var = member라고 선언함으로서 쉽게 결과물을 도출 할 수있다.
배열의 사용
배열은 반복문과 결합했을때 두각을 나타낸다. 반복문으로 리스트에 담긴 정보를 하나씩 꺼내어 처리 가능하다
]
function get_members(){
return ['egoing', 'k8805', 'sorialgi'];
}
members = get_members();
// members.length는 배열에 담긴 값의 숫자를 알려준다.
for(i = 0; i < members.length; i++){
// members[i].toUpperCase()는 members[i]에 담긴 문자를 대문자로 변환해준다.
document.write(members[i].toUpperCase());
document.write('
');
}
결과값은 EGOING K8805 SORIALGI로 for문을 이용한 반복문과 배열을 결합하였다. 반복문을 이용해서 배열members의 내용을 하나하나 꺼낸후 toUpperCase를 이용해 대문자로 변경해주었다.
배열의 제어
배열은 여러개의 데이터를 효율적으로 관리,전달하기 위한 목적으로 고안된 데이터타입으로, 추가/수정/삭제 와 같은 일을 편리하게 할 수 있도록 돕는 기능을 가지고있다.
alert(arr.length); 라고 할때에 결과값은 5이다.
w
데이터 추가
배열의 끝에 데이터를 추가하는 방법으로는 push라는 인자를 사용한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.push('f');
alert(li);
// 결과값 a, b, c, d, e, f
여러개의 데이터를 배열에 추가하고 싶을때에는 concat을 사용한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li = li.concat(['f', 'g']);
alert(li);
// 결과값 a,b,c,d,e,f,g
배열의 시작점에 데이터를 추가하고 싶을때에는 unshift 인자값을 사용한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.unshift('z');
alert(li);
//결과값 z,a,b,c,d,e
splice는 원하는곳에 데이터를 추가하고 싶을때에 사용한다. splice(2,0)를 하면 2번째데이터 뒤에 0만큼의 값을 제거후 리턴한다는 뜻으로서, 0은 제거를 하지 않기때문에 데이터가 추가된다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.splice(2, 0, 'B');
alert(li);
//결과값 a, b, B, c, d, e
데이터 제거
배열의 첫번째 원소를 제거하는 방법으로 shift를 사용한다
var li = ['a', 'b', 'c', 'd', 'e'];
li.shift();
alert(li);
//결과값 b,c,d,e
배열 끝의 마지막데이터를 제거하는것으로 pop를 사용한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.pop();
alert(li);
//결과값 a, b, B, c, d
데이터 정렬
데이터를 정렬하는 방법으로 sort는 알파벳 순으로 정리를 해준다.
var li = ['c', 'e', 'a', 'b', 'd'];
li.sort();
alert(li);
//결과값 a, b, c, d, e
역순으로 정리하고 싶을대에는 reverse를 사용한다.
var li = ['c', 'e', 'a', 'b', 'd'];
i.reverse();
lert(li);
//결과값 e, d, c, b, a