[Javascript] 자바스크립트 배열(Array)

배열(Array)

- 자바에서는 순수배열과 컬렉션의 개념이 따로 있음.

- 자바스크립트는 두개의 개념이 같이 존재.

- Array + Collection : 길이 가변

자바에서의 배열 선언 : int[] nums = new int[3];


자바스크립트의 배열선언

var nums = new Array();


값 대입

nums[0] = 100;

nums[1]=200;

nums[2]=300;


3,4 건너 뛰고 바로 5에 대입 -> 길이가 3개로 줬는데 어떻게 가능? -> List의 개념과 비슷(길이 가변)

nums[5]=500;

console.log(nums.length); 6 -> 배열의 length는 항상 마지막 인덱스에 1을 더한 값으로 표현됨.

for(var i =0; i<nums.length; i++){

console.log(i,nums[i]);

}

- 결과

0 100

1 200

2 300

3 undefined

4 undefined

5 500

console.log(nums[6]); undefined

var nums=new Array();

nums["onde"]="하나";

nums["two"]="둘";

console.log(nums["onde"]); 하나


nums[0]="셋";

console.log(nums[0]);


- 자바스크립트의 배열은 인덱스(자바의 List 인터페이스) 배열과 연관배열(자바의 Map 인터페이스) 구조 두개를 같이 쓸 수 있다.

- 그렇다면 위의 예제에서 nums["0"] 의 경우는?? ->-> 그냥 nums[0]으로 해석된다. -> 문자열 내의 문자가 숫자일 경우 자동 타입변환 된다.


배열선언 방법

var nums2= new Array(100,200,300); 

var nums3=[100,200,300];

var nums4 = new Array(); //빈배열

var nums5 = [];

- 0~99

for(var i =0; i<=99; i++){

nums5[i]=i;

}

- 3의 배수 x 100개

var nums6 = [];

for(var i=3 ; i<=300; i+=3){

/* nums6[i]=i; */

nums6.push(i); 이렇게하면 최대 index 다음 index 부터 삽입된다.

}

console.log(typeof nums6); object 배열은 타입이 object이다. array라는 타입은 없다.

댓글

Designed by JB FACTORY