티스토리 뷰

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

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

http://tcpschool.com/javascript/js_array_application

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

728x90

'개발 언어 > NodeJS' 카테고리의 다른 글

자바스크립트 - 변수 유효범위  (0) 2019.07.27
자바스크립트 - 함수  (2) 2019.07.06
자바스크립트 - 반복문  (0) 2019.07.06
자바스크립트 - 조건문  (0) 2019.07.06
자바스크립트 - 연산자  (0) 2019.07.06
댓글