데이터가 추가되면 배열 전체에서 중복되지 않는 인덱스가 자동으로 만들어져서 추가된 데이터에 대한 식별자가 된다. 이 인덱스를 이용해서 데이터를 가져오게 되는 것이다. 만약 인덱스로 문자를 사용하고 싶다면 객체(dictionary)를 사용해야 한다.
다른 언어에서는 연관배열(associative array) 또는 맵( map), 딕셔너리(Dictionary)라는 데이터 타입이 객체에 해당한다.
객체의 생성
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
위의 예제에서 egoing은 key가 되고, 10은 value가 된다. 아래는 객체를 만드는 다른 방법이다.
var grades = {};
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;
var grades = new Object();
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['sorialgi'] = 80;
객체에서 필요한 값을 가져와보자. 다음은 sorialgi라는 이름(key)으로 저장된 값을 가져오는 법이다. 결과는 80이다.
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
alert(grades['sorialgi']);
아래의 방법으로도 객체의 값을 가져올 수 있다.
alert(grades.sorialgi);
객체에 저장된 데이터를 기준으로 반복작업을 하는 방법이다.
var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
for(key in grades) {
document.write("key : "+key+" value : "+grades[key]+"<br />");
}
결과
key : egoing value : 10
key : k8805 value : 6
key : sorialgi value : 80
for 문은 in 뒤에 따라오는 배열의 key 값을 in 앞의 변수 name에 담아서 반복문을 실행한다. 반복문이 실행될 때 변수 key의 값으로 egoing, k8805, sorialgi가 순차적으로 할당되기 때문에 grades[key]를 통해서 객체의 값을 알아낼 수 있다.
객체에는 객체를 담을수도 있고, 함수도 담을 수 있다.
var grades = {
'list': {'egoing': 10, 'k8805': 6, 'sorialgi': 80},
'show' : function(){
for(var name in this.list){
document.write(name+':'+this.list[name]+"<br />");
}
}
};
grades.show();
'공부 > 2022' 카테고리의 다른 글
Javascript UI 와 API (0) | 2022.09.01 |
---|---|
Javascript 모듈이란? (0) | 2022.09.01 |
Javascript 배열의 추가,삭제,정렬 (0) | 2022.08.31 |
Javascript 함수 function 출력 return (0) | 2022.08.29 |
Javascript 반복문의 효용과 제어, 중첩 (+i+,break,continue) (0) | 2022.08.29 |