언어공부/JavaScript&jQuery
자바 스크립트(JavaScript) 기초 문법 - 내장객체 (배열 객체)
yeony
2021. 7. 24. 18:30
자바 스크립트(JavaScript) 기초 문법
내장 객체
내장 객체(Built-in Object)란 브라우저의 자바스크립트 엔진에 내장된 객체를 말하며, 필요한 경우 객체를 생성해서 사용할 수 있다. 내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math), 정규 표현 객체(RegExp Object)등이 있다.
배열 객체
변수에는 데이터가 한 개만 저장된다. 여러 개의 데이터를 한 곳에 저장을 하려면 배열 객체(Array Object)를 생성하면 된다. 자바스크립트 배열은 여러개의 타입을 혼합해서 저장할 수 있다.
<script>
var car_color="black", car_price=30000000, car_model="X5";
//변수를 이용해 3개의 데이터를 저장하려면 3개의 변수가 필요하다.
//배열 객체를 사용하면 하나의 배열 객체로 3개의 데이터를 저장한다.
//배열 객체는 아래의 3가지 방법으로 생성할 수 있다.
var car=new Array();
car[0]="black";
car[1]=30000000;
car[2]="X5";
var car =new Array("black",30000000,"X5");
var car=["black",30000000,"X5"];
</script>
각각의 데이터는 배열로 나누어진 저장소에 나열되며, 각각의 저장소에는 인덱스 번호가 부여된다. 인덱스 번호는 0부터 시작된다.
배열객체에 저장된 데이터 불러오기
<scirpt>
var car=["black",30000000,"X5"];
//데이터 불러오기 1
document.write(car[0]);//black 출력
document.write(car[1]);//30000000 출력
document.write(car[2]);//X5 출력
//데이터 불러오기 2
for (var i=0; i<car.length; i++){
document.write(car[i],"<br/>");
}
//데이터 불러오기 3
for (var k in car){
document.write(car[k],"<br/>");
}
</script>
배열명.length는 배열크기 즉 배열원소 개수를 반환한다. 여기서 car.length는 3이다.
배열 객체의 메소드 및 속성
종류 | 설명 |
join(연결문자) ex)join("-") | 배열 객체의 데이터를 연결문자 기준으로 1개의 문자형 데이터로 반환한다. |
reverse( ) | 배열 객체의 데이터 순서를 거꾸로 바꾼 후 반환한다. |
sort( ) | 배열 객체의 데이터를 오름차순으로 정렬한다. |
slice(index1, index2) | 배열 객체의 데이터 중 원하는 인덱스 구간만큼 잘라서 배열 객체로 가져온다. |
splice( ) | 배열 객체의 지정 데이터를 삭제하고 그 구간에 새 데이터를 삽입할 수 있다. |
concat( ) | 2개의 배열 객체를 하나로 결합한다. |
pop( ) | 배열에 저장된 데이터 중 마지막 인덱스에 저장된 데이터를 삭제한다. |
push(new data) | 배열 객체의 마지막 인덱스에 새 데이터를 삽입한다. |
shift( ) | 배열 객체에 저장된 데이터 중 첫 번째 인덱스에 저장된 데이터를 삭제한다. |
unshift(new data) | 배열 객체의 가장 앞의 인덱스에 새 데이터를 삽입한다. |
length | 배열에 저장된 총 데이터의 개수를 반환한다. |
자바 스크립트 배열은 다른 언어 배열과는 다르게 키를 통해서 값을 저장하였다 다시 추출할 수 있다. 키는 단순 문자열이고 인덱스 번호 대신에 키를 사용해 값을 저장하고 다시 가져올 수 있다. 이러한 배열을 연관배열이라고 하며, 입력양식 필드에서 값을 가져오거나 반대로 값을 초기화 설정할 때 아주 편리하다.
<script>
var fruits=new Array();
fruits['a']='사과';
//인덱스 번호 대신 키이름 a에 사과 원소 값을 저장한다. >>자바스크립트에서 연관배열이라고 한다.
fruits['b']='바나나';
fruits['p']='복숭아';
document.write(fruits['a']+"<br/>");//사과 출력
//키 이름 a를 통해서 원소값을 가져옴
document.write(fruits['b']+"<br/>");//바나나 출력
document.write(fruits['p']+"<hr/>");//복숭아 출력
</script>
인덱스 번호 대신 키에 값을 저장한다. 배열객체에 저장된 데이터를 불러올때는 인덱스 대신 키를 넣어 불러올 수 있다.
<body>
<form name="myForm">
입력1:<input type="text" name="a0" size="14"/> <br/><br/>
입력2:<input type="text" name="a1" size="14"/> <br/><br/>
입력3:<input type="text" name="a2" size="14"/> <br/><br/>
<input type="button" value="초기화" onclick="init();"/>
</form>
<script>
function init(){
for (var i=0;i<3;i++){
document.myForm["a"+i].value=i;
//myForm배열명 형태로 사용되고,
//a0,a1,a2 text 네임 속성명이 키이름으로 사용된 연관 배열 형식이다.
//입력박스에 0,1,2 값이 대입된다.
}
}
</script>
</body>
초기화 버튼을 누르면 0, 1, 2가 각 textarea 안에 대입된다.