본문 바로가기

Javascript/6. 배열

배열 _ Array( )

반응형

1.   배열이란?

하나의 변수 안에 여러개의 데이터를 그룹하하여 저장하는 기본 구조
변수의 값이 할당 될 때 결정되기 떄문에 할당하기 전까지는 숫자, 문자열, 배열 등의 구분이 없다.

ex) let Arr = [ 1, 2, 3, 4, true, false, "hello", "Javascript" ];ᅠᅠᅠ-->ᅠᅠᅠ선언과 할당을 동시에 할 수 있다.

 

 

2.   클래스를 사용한 배열

ex) let Arr = new Array( 1, 2, 3, 4, true, false, "hello", "Javascript" );
ᅠᅠᅠᅠ-->ᅠᅠᅠ [ 1, 2, 3, 4, true, false, "hello", "Javascript" ]

  • " new Array() " 로 배열을 지정할때 괄호안에 숫자 값 하나만 명시되면 숫자 값 만큼의 빈칸을 갖는 배열 생성
    ᅠᅠᅠex) new Array(6);ᅠᅠᅠ-->ᅠᅠᅠ[ , , , , , ]
    ᅠᅠᅠ배열의 각 칸은 정의되지 않은 값(undefined)로 할당

 

 

3.   배열의 길이

배열의 길이를 알고 싶다면 아래처럼 입력
알고싶은 배열.length ;

배열의 길이 구하기

 

 

4.   배열의 접근

배열의 각 원소는 0부터 시작하는 일련번호를 부여받는다.
이를 배열의 인덱스라고 한다.

console.log(알고싶은 배열의 변수명[ 인덱스 번호 ]);

배열에 인덱스번호로 접근

존재하지 않는 인덱스 번호를 호출할 경우 정의되지 않았으므로 undefined를 호출한다.★

 

5.   구조분해 ★★★

배열의 각 원소를 새로운 배열의 원소로 저장하는 방법이다.

  1. 배열의 원소를 차례로 순서에 맞게 저장된다.
  2. 원소 수보다 선언된 변수가 적을 경우 정의된 변수까지만 저장되고 정의되지 않은 원소는 버려진다.
  3. 원소 수보다 선언된 변수가 많을 경우 분리될 원소가 없는 변수는 undefined가 된다.
  4. 구조분해를 수행하고 나머지 원소를 별도의 배열에 저장해야 할 경우 "..."을 사용한다.

 

왼쪽 - 일반적 배열의 구조분해 (1번) / 오른쪽 - 원소 수보다 선언된 변수가 적은 경우의 구조분해 (2번)
왼쪽 - 원소 수보다 선언된 변수가 많은 경우의 구조분해 (3번) / 오른쪽 - 나머지 원소 저장 (4번)

 

 

6.   존재하지 않는 원소에 대한 접근

  1. 존재하지 않는 원소의 값을 출력할 경우 undefined가 출력된다.
  2. 존재하지 않는 원소를 활용하여 연산을 처리할 경우 NaN이 출력된다.(undefined를 활용한 연산이므로)
  3. 존재하지 않는 원소에 값을 할당할 경우 그 인덱스에 대한 값을 새로 생성한다.
    중간에 누락된 인덱스가 있다면 그 인덱스 값의 배열은 undefined가 된다.

 

왼쪽 - 존재하지 않는 원소 값 출력(1번) / 오른쪽 - 존재하지 않는 원소로 연산처리(2번)
존재하지 않는 원소에 값 할당(3번)

 

 

 

7.   반복문을 통한 활용

for - of문을 활용하여 배열의 모든 원소를 순차적으로 탐색하여
선언된 변수에 자동 할당하는 반복문

더 빠른 탐색 속도와 간결한 문법 표현을 제공하지만 현재 처리중인 원소에 대한 인덱스를 알 수 없다.

for - of 반복문을 활용한 배열 탐색

★ for - of문안에서 상수인 const 혹은 변수인 let 둘 다 사용 가능하다.(for문이 반복을 계속해서 리셋해서 시작하기 때문) ★

 

왼쪽 - 최대값 탐색 / 오른쪽 최소값 탐색

 

배열의 역순배치ᅠᅠ>>ᅠᅠ오름차순/내림차순 정렬을 설정할 수 있다.

반응형