Programming Language/Javascript, ...

[JavaScript] 배열

Ma_Sand 2022. 4. 22. 09:37
반응형

배열

   : JavaScript에서의 배열은 Java의 Collection과 유사하다.

      변수를 선언할 때, 별도의 자료형을 지정하지 않기 때문에 모든 값들을 하나의 배열에 담을 수 있다.

var arr = [1, 2.5, "키위", false, [5, 6, 7]];

 

  - 배열의 0번 인덱스부터 마지막 인덱스까지 접근할 때 사용하는 반복문: for in문

for(var i in arr){
    span.innerHTML = arr[i] + "<br>";
}

 

 

 

 

배열의 선언

   : 배열을 선언할 때, 배열의 크기를 지정한 채로 선언하거나 크기를 지정하지 않고 선언해도 된다.

var arr1 = new Array();  // 배열의 크기 0
var arr2 = new Array(5);  // 배열의 크기 5
var arr3 = [];  // 배열의 크기 0

 

 

  - 배열에 값을 대입할 때,

arr1[0] = "대한";
arr1[2] = "민국";
arr1[5] = "만세";

위는 ['대한', 비어있음, '민국', 비어있음×2, '만세'] 으로 배열이 구성된다. 배열의 크기는 6이 된다.

 

arr2[5] = 10;
arr2[6] = 11;

위 arr2의 배열의 크기는 5에서 7로 증가되었다. [비어있음×5, 10, 11]로 배열이 구성되었다.

 

 

  - 배열의 선언과 동시에 초기화

// 방법1.
var arr4 = new Array("선언", "초기화");

// 방법2.
var arr5 = ["오", 2, 7.63];

 

 

 

 

배열 객체 메소드

.indexOf(요소)

   : 배열에서 해당 요소가 위치하고 있는 인덱스값을 반환한다.

var arr6 = ["가", "나", "다", "라"];
var hangeul = prompt("가~라 중 하나 입력하세요.");
var index = arr6.indexOf(hangeul);

 

.concat(배열1, 배열2, ...)

   : 여러 개의 배열을 결합하여 반환한다.

  - 배열들을 합쳐도 원본 배열에는 영향을 미치지 않는다. 

arr5.concat(arr4, [700, "산"]);
// [5, 2, 7.63, '선언', '초기화', 700, '산']

 

.reverse()

   : 배열에 담긴 값들을 역순으로 바꾼다.

  - 배열들을 역순으로 바꿨을 때 원본 배열에 영향을 미친다.

var fruit = ["감", "딸기", "귤", "포도"];

divE.innerHTML = fruit.reverse() + "<br>";
// 포도,귤,딸기,감

divE.innerHTML += fruit + "<br>";
// 포도,귤,딸기,감

 

.sort()

   : 배열에 담긴 값들을 오름차순으로 정렬시킨다.

  - 배열들을 오름차순으로 정렬했을 때 원본 배열에 영향을 미친다.

var fruit2 = ["바나나", "낑깡", "오렌지", "수박"];

divE.innerHTML += fruit2.sort() + "<br>";
// 낑깡,바나나,수박,오렌지

divE.innerHTML += fruit2 + "<br>";
// 낑깡,바나나,수박,오렌지

 

push(추가요소), pop()

  - push(): 배열의 맨 뒤에 요소를 추가한 후 배열의 크기를 반환한다.

  - pop(): 배열의 맨 뒤의 요소를 제거한 후 제거된 요소를 반환한다.

var color = ["빨", "주", "노", "초"];

color.push("파");
// 빨,주,노,초,파
divE.innerHTML += color.push("남") + "<br>";
// 6 : 배열의 크기

divE.innerHTML += color.pop();
// 남

 

unshift(추가요소), shift()

  - unshift(): 배열의 맨 앞에 요소를 추가한 후 배열의 크기를 반환한다.

  - shift(): 배열의 맨 앞의 요소를 제거한 후 제거된 요소를 반환한다.

var drink = ["물", "주스", "커피", "탄산수"];

drink.unshift("차");
// 차,물,주스,커피,탄산수
divE.innerHTML += drink.unshift("콜라") + "<br>";
// 6 : 배열의 크기

divE.innerHTML += drink.shift() + "<br>";
// 콜라

 

slice(시작 인덱스, 마지막 인덱스), splice(시작 인덱스, 제거 수, 추가 요소)

  - slice(): 배열의 시작 인덱스값부터 마지막 인덱스 전까지의 값을 추출한다.

               배열에서 값을 추출했을 때 원본 배열에 영향을 미치지 않는다.

  - splice(): 배열의 시작 인덱스값부터 제거 수만큼 값을 추출해서 제거한 후 추가 요소를 추가한다.

                 이때 추가 요소는 생략할 수 있다.

                 배열에서 값을 추출 및 제거, 추가했을 때 원본 배열에 영향을 미친다.

var country = ["한국", "일본", "중국", "북한", "러시아"];

divE.innerHTML += country.slice(1, 3) + "<br>";
// 일본,중국
divE.innerHTML += country + "<br>";
// 한국,일본,중국,북한,러시아

divE.innerHTML += country.splice(1, 3, "인도네시아") + "<br>";
// 일본,중국,북한
divE.innerHTML += country + "<br>";
// 한국,인도네시아,러시아

 

toString(), join([구분자])

   : 배열에 담긴 값들을 하나의 문자열로 합쳐서 반환한다.

  - join(): 기본 구분자 ','가 입력한 구분자로 적용되어 반환된다.

var dance = ["비보잉", "발레", "락킹"];

divE.innerHTML += dance.toString() + "<br>";
// 비보잉,발레,락킹

divE.innerHTML += dance.join(" ") + "<br>";
// 비보잉 발레 락킹
반응형