상세 컨텐츠

본문 제목

JavaScript - 배열

개발/JavaScript

by 뉴에이스 2018. 10. 25. 16:08

본문

- 한번에 여러개의 메모리를 준비하는 방법
- 배열의 생성 : [] 또는 Array() 활용
소스
// 크기 생략 가능
var arr1 = []; // 현재 배열의 크기 0
var arr2 = new Array(); // 현재 배열의 크기 0

console.log("arr1.length", arr1.length);
console.log("arr2.length", arr2.length);

console.log(arr1[0], arr2[0]); // undefined 출력

/*
    배열의 크기는 동적으로 변경된다.
    크기가 지정되어 있지 않은 경우에도 데이터의 입력이 가능
    배열의 길이는 가장 큰 인덱스 + 1 한 값이다
*/

arr1[0] = 10;
arr1[2] = 30;
console.log(arr1[0], arr1[1], arr1[2]); // 10, undefined, 30
console.log(arr1.length); // arr1[2] + 1된 3이 나온다.

/*
    배열은 여러가지의 데이터 타입을 하나의 배열에 입력할 수 있다.
    배열의 인덱스 위치에 문자열을 넣을 수 있다. (배열은 객체이기 때문에)(키:밸류)
    문자열을 키로 사용한 경우에는 크기에 포함되지 않는다.  
*/

arr1[3] = "문자열";
arr1[4] = {}; // 초기값을 주지 않아도 가능
arr1[5] = [1, 2, 3];
arr1[6] = true;
arr1["msg"] = "냐옹이는 세젤귀~!";
console.log(arr1);
console.log(arr1.length);
console.log(arr1["msg"]);
arr1["99"] = "멍멍"; // 묵시적형변환이 되어 숫자 99로 처리됨
console.log(arr1.length); // 100
결과
arr1.length 0
arr2.length 0
undefined undefined
10 undefined 30
3
[ 10,
  <1 empty item>,
  30,
  '문자열',
  {},
  [ 1, 2, 3 ],
  true,
  msg: '냐옹이는 세젤귀~!' ]
7
냐옹이는 세젤귀~!
100
소스
"use strict";

var arr = [10, 20, 30];
arr[arr.length] = 40; // 배열의 뒷부분에 값을 추가하는 방법 1
console.log(arr);

arr.push(50); // 배열의 뒷부분에 값을 추가 하는 방법 2
console.log(arr);

var arr2 = arr; // 객체의 주소값을 대입

console.log(arr2);

// arr2와 arr은 같은 주소를 사용하고 있기때문에 값이 변경됨
arr2.push(100);
console.log(arr);
console.log(arr2);
// 배열의 삭제, 삭제할 인덱스의 시작위치와 삭제할 갯수 지정
// 20을 삭제하고자 할 경우
arr.splice(1, 1);
console.log(arr);
결과
[ 10, 20, 30, 40 ]
[ 10, 20, 30, 40, 50 ]
[ 10, 20, 30, 40, 50 ]
[ 10, 20, 30, 40, 50, 100 ]
[ 10, 20, 30, 40, 50, 100 ]
[ 10, 30, 40, 50, 100 ]

관련글 더보기

댓글 영역