배열
포스트
취소

배열

배열이란?

  • 연관된 데이터를 모아서 한꺼번에 관리하기 위해서 사용하는 데이터 타입

선언 방법

//선언 방법 1 (단순 배열)
var test = ['test0', 'test1', 'test2']; //대괄호를 사용한다.
alert(test); //출력 : test0,test1,test2

//선언 방법 2 (Array 객체 이용)
var test = new Array('test0', 'test1', 'test2'); //소괄호를 사용한다.
alert(test); //출력 : test0,test1,test2

//선언 방법 3 (Array 객체 이용)
var test = new Array(3);

데이터 사용 방법

//객체의 n번째 인덱스의 원소 추출 (0부터 시작)
var test = ['test0', 'test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7'];
console.log(test[0]);

//배열의 일부 추출하기, 실제 배열의 값 삭제 X
//배열변수명.slice(start, end)
//※ 주의 : start에서 end까지가 아니라 start부터 end 사이의 값을 추출한다.
//※ 주의 : 역순인 test.slice(end, start);은 작동하지 않는다.
console.log(test.slice(1,3)); //출력 :  ['test1', 'test2']

//end 생략시 start부터 배열의 마지막 요소까지의 모든 요소를 출력한다.
console.log(test.slice(1)); //출력 : ['test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7']

//인자를 음수로 주면 배열의 마지막부터 그 개수에 해당하는 요소를 출력한다.
console.log(test.slice(-2)); //출력 :  ['test6', 'test7']

배열의 길이

//배열변수명.length
console.log(test.length); //출력 : 3

데이터 추가 방법

 //단순 추가 (데이터의 개수 필요)
test[3]="test3";

//배열의 맨 뒤에 요소를 추가
test.push("test3");

//배열의 맨 앞에 요소를 추가
test.unshift("test00");

//배열의 중간에 요소를 추가
//배열객체명.splice(시작인덱스, 삭제 개수, element...);
//count를 0으로 하면 삭제하지 않고 추가
var test = ['test0', 'test1', 'test2'];
test.splice(0, 0, 'temp0', 'temp1', 'temp2');
console.log(test); //출력 : ['temp0', 'temp1', 'temp2', 'test0', 'test1', 'test2']

//배열 합치기
var test = ['test0', 'test1', 'test2'];
var concatExample = ['example0','example1','example2'];
test=test.concat(concatExample);
console.log(test); //출력 :  ['test0', 'test1', 'test2', 'example0', 'example1', 'example2']

데이터 삭제 방법

//배열의 맨 뒤의 요소를 삭제
//단순하게 삭제만 되는 것이 아니라 삭제하는 값을 사용할 수 있다.
var test = ['test0', 'test1', 'test2'];
console.log(test.pop()); //출력 : test2
console.log(test); //출력 : ['test0', 'test1']

//배열의 맨 앞의 요소를 삭제
//단순하게 삭제만 되는 것이 아니라 삭제하는 값을 사용할 수 있다.
var test = ['test0', 'test1', 'test2'];
console.log(test.shift()); //출력 : test0
console.log(test); //출력 : ['test1', 'test2']

데이터 정렬 방법

//정렬되지 않은 기본 배열
var sortTest=['b', 'c', 'a'];

//단순 정렬
sortTest.sort();

//숫자 정렬
const numberSort_A = [2, 1, 3, 10];
numberSort_A.sort();
console.log(numberSort_A); //출력 : [1, 10, 2, 3]

//숫자 정렬 (유니코드 기준, 오름차순)
const numberSort_B = [2, 1, 3, 10];
numberSort_B.sort(function(a, b)  {
if(a > b) return 1; //내림차순은 a<b
if(a === b) return 0;
if(a < b) return -1; //내림차순은 a > b
});
console.log(numberSort_B); //출력 :  [1, 2, 3, 10]

//숫자 정렬 (크기 차이 기준, 오름차순)
//※ sort 함수는 기본적으로 내용물을 문자열로 취급한다.
const numberSort_C = [2, 1, 3, 10];
numberSort_C.sort(function(a, b)  {
return a - b; //내림차순은 b-a
});
console.log(numberSort_C); //출력 :  [1, 2, 3, 10]

데이터 합치기 방법

//배열변수명.join('연결 문자열');
var joinTest = ['Hello', 'World', '...?'];
console.log(joinTest.join(' ')); //출력 : Hello World ...?
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.