티스토리 뷰
728x90
배열?
이름과 인덱스로 참조되는 정렬된 값의 집합.
배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 위치를 가리키는 숫자를 인덱스(index)라한다.
특징
- 배열 요소의 타입이 고정되어 있지 않으므로, 같은 배열에 있는 배열 요소끼리의 타입이 서로 다를 수있음.
- 자바의 경우에 배열은 하나의 타입만 저장이 가능하다.
- 배열 요소의 인덱스가 연속적이지 않아도 되며, 따라서 특정 배열 요소가 비어 있을 수있음.
- 자바스크립트에서 배열은 Array 객체로 다뤄진다.
배열 선언
var array1 = ['element1', 'element2', 'element3']; // 가장 많이 사용함.
var array2 = Array('element1', 'element2', 'element3');
var array3 = new Array('element1', 'element2', 'element3');
console.log(array1); // [ 'element1', 'element2', 'element3' ]
console.log(array2); // [ 'element1', 'element2', 'element3' ]
console.log(array3); // [ 'element1', 'element2', 'element3' ]
배열 참조
- 배열의 각 요소를 참조하고 싶을 때는 [] 연산자를 사용한다.
- 배열 요소의 개수를 배열의 길이라고하며 length 프로퍼티를 이용해 알수있음.
- 인덱스는 0부터 시작한다.
var numbers = [1, 2, 3, 4];
console.log('numbers length = ' + numbers.length); // numbers length = 4
numbers.push(5);
console.log('numbers length = ' + numbers.length); // numbers length = 5
console.log(numbers[0]); // 1
numbers[0] = 100;
console.log(numbers[0]); // 100
다중 배열
- 배열 요소가 또 다른 배열인 배열을 의미합니다.
- 2차원 배열이란 배열 요소가 1차원 배열인 배열을 의미한다.
- 3차원 배열이란 배열 요소가 2차원 배열인 배열을 의미한다. (거의 사용 안함.)
var oneDimensionArray = [10, 20, 30, 40, 50, 60]; // 1차원 배열
var twoDimensionArray = [ // 2차원 배열
[10, 20, 30], // 0
[40, 50, 60] // 1
];
console.log(oneDimensionArray[0]); // 10
console.log(twoDimensionArray[0][0]); // 10
console.log(oneDimensionArray[3]); // 40
console.log(twoDimensionArray[1][0]); // 40
- 1차원 배열 순회
var oneDimensionArray = [10, 20, 30, 40, 50, 60]; // 1차원 배열
for (var i = 0; i < oneDimensionArray.length; i++) {
console.log(oneDimensionArray[i]);
}
// 10
// 20
// 30
// 40
// 50
// 60
- 2차원 배열 순회
var twoDimensionArray = [ // 2차원 배열
[10, 20, 30], // 0
[40, 50, 60] // 1
];
for (var i = 0; i < twoDimensionArray.length; i++) {
console.log('outer for :: ', twoDimensionArray[i]);
for (var j = 0; j < twoDimensionArray[i].length; j++) {
console.log('inner for :: ', twoDimensionArray[i][j]);
}
}
// outer for :: [ 10, 20, 30 ]
// inner for :: 10
// inner for :: 20
// inner for :: 30
// outer for :: [ 40, 50, 60 ]
// inner for :: 40
// inner for :: 50
// inner for :: 60
연관 배열
- 숫자로 된 인덱스 대신에 문자열로 된 키(key)를 사용하는 배열을 연관 배열이라 한다.
- 이렇게 생성된 배열은 자바스크립트 내부적으로 Array 객체에서 기본 객체로 재선언된다.
- Array 메소드와 프로퍼티가 정확하지 않은 결괏값을 반환하게 된다.
var stringKeyArray = [];
stringKeyArray['name'] = 'park jin';
stringKeyArray['age'] = 31;
console.log(stringKeyArray); // [ name: 'park jin', age: 31 ]
console.log(stringKeyArray.length); // 0
stringKeyArray.push(100);
console.log(stringKeyArray); // [ 100, name: 'park jin', age: 31 ]
console.log(stringKeyArray.length); // 1
for (var i = 0; i < stringKeyArray.length; i++) {
console.log(stringKeyArray[i]);
}
// 100
출처
http://tcpschool.com/javascript/js_array_basic
http://tcpschool.com/javascript/js_array_application
728x90
'개발 언어 > NodeJS' 카테고리의 다른 글
자바스크립트 - 변수 유효범위 (0) | 2019.07.27 |
---|---|
자바스크립트 - 함수 (2) | 2019.07.06 |
자바스크립트 - 반복문 (0) | 2019.07.06 |
자바스크립트 - 조건문 (0) | 2019.07.06 |
자바스크립트 - 연산자 (0) | 2019.07.06 |
댓글