java-school logo

배열

배열 선언 방법

자바스크립트의 배열은 배열 선언 시 배열 요소의 수를 정할 수 있고 프로그램 실행 중에 추가할 수도 있다.
var cities = ["Seoul", "New York"];
alert("cities.length=" + cities.length);

var years = new Array(1969, 1970);
years[46] = 2015; //이런식으로 배열 요소를 추가할 수 있다.
alert("years.length=" + years.length);

alert("years=" + years);

for (var idx in years) {
	alert(years[idx]);
}

배열의 메서드

concat()과 slice()는 원래의 배열을 변경하지 않고, 수행 결과를 새로운 배열로 반환한다.
자바스크립트 엔진은 배열을 배열 요소가 콤마(,) 로 구분되어 있는 문자열로 변환한다.
var words = new Array('A','B','C','D','E');
var s1 = words.splice(2,2,'c','d');//인덱스2부터 2개 제거하고 2개의 요소 추가 

alert(words);
alert(s1);

var s2 = words.slice(2,4);//2는 포함 4는 포함되지 않는 부분 배열 반환
alert(s2);
alert(words);

for .. in 문 사용 예

var lang = ["C", "JAVA", "javascript"];
for (var idx in lang) {
	alert(lang[idx]);
}

연관 배열 (일종의 맵)

연관 배열에는 인덱스를 사용해서 요소에 접근할 수 없다.
연관 배열을 생성할 할 때는 Object를 일반적으로 사용한다.
새 요소가 추가될 때마다 배열은 자동으로 확장된다.
var account = new Object();

account["accountNo"] = "111-222-333333";
account["name"] = "홍길동";
account["balance"] = 100;

alert(account["name"]);
alert(account.balance);
아래는 연관 배열에서 요소에 접근하는 예다.
연관 배열 document의 요소인 getElementsByTagName()에 접근한다.
연관 배열 Math의 요소 ceil()에 접근한다.
document.getElementsByTagName('a');
Math.ceil(175);
document 객체의 요소를 출력하면 이해가 쉽다.
for (var property in document) {
	alert(property + ":" + document[property]);
}
자바스크립트 객체는 연관 배열임을 알 수 있다.
결과는 브라우저마다 다르다.
참고