본문 바로가기
Road to Developer/edwith풀스택웹개발자

22. 자바스크립트 배열

by 구월에작은섬 2018. 7. 19.

자바스크립트 배열


배열(array)는 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다.

자바스크립트의 배열은 객체이며 유용한 내장 메소드를 포함하고 있다.

배열을 생성하는 방법이다.


var a = [];


var a = [1,2,3,"hello", null, true, []]; // 배열 안에는 모든 타입이 다 들어갈 수 있다. 함수도 배열 안에 배열도, 배열 안에 객체도 들어갈 수 있음.

>>Array(7) [1, 2, 3, "hello", null, true, Array(0)]


var a = { '0' : 1, '1':2, '2':3, '3':'hello', '4':null, '5':true, '6':[] }; // 리터럴 타입. 키와 밸류로 구성된다.

>>Object {0: 1, 1: 2, 2: 3, 3: "hello", 4: null, 5: true, 6: Array(0)}


키값을 불러오는 방법


var a = { '0' : 1, '1':2, '2':3, '3':'hello', '4':null, '5':true, '6':[], key:"value" }; 

console.log(a.key); //value

console.log(a["key"]); //value


두가지 방식의 차이는 Array와 Object로 다르단 점이다.




여러가지 메소드


Method

설명 

예시 

 결과

 push( value );

 뒤에서부터 배열에 값을 추가.

 var a = [4]; a.push(5);

 console.log(a);

Array(2) [4, 5]

 indexOf( 배열 );

 배열의 값의 위치를 탐색한다.

 [1,2,3,4].indexOf(3) 

 2

 join() ;

 배열의 문자열로 합칠 수 있다.

 [1,2,3,4].join();

 "1,2,3,4"

 concat(배열);

 배열을 합칠 수 있다. concat으로 생성된 배열은 기존의 배열을 수정한 것이 아니라 새롭게 생성된것임에 주의.

 [1,2,3,4].concat(2,3);  

 [1,2,3,4,2,3]

 forEach() ;

 배열을 탐색한다.(for문과 같은기능 가독성이 좋아지며 i++, for문 작성을 해주는 부분은 parser가 처리해준다.)

 ["apple","tomato"].forEach(function(value) { console.log(value)});

 apple

 tomato

 map();

 새로운 배열을 반환한다. 

 var newArr =["apple","tomato"].map(function(index, value) { 

return index + "번째 과일은 " + value + "입니다"; });

 console.log(newArr)

 Array(2) ["apple번째 과일은 0입니다", "tomato번째 과일은 1입니다"]

delete

 요소의 값을 삭제한다. 삭제된 값은 undefined가 됨.

 var a = [1,2,3,4];

 delete a[3];

 console.log(a);

 Array(4) [1, 2, 3]

 splice

 요소와 요소의 값을 완전히 삭제한다. 

 var a = [1,2,3,4];

a.splice(0,2);

console.log(a);

Array(2) [3, 4] 

 sort/reverse

 배열의 정렬. 오름차순/내림차순 

 var a = [1,2,3,4];

 console.log(a.sort());

 console.log(a.reverse());

Array(4) [1, 2, 3, 4]

Array(4) [4, 3, 2, 1]










반응형

'Road to Developer > edwith풀스택웹개발자' 카테고리의 다른 글

24. Spring Framework  (0) 2018.07.23
23. 객체(Object), 배열(Array) for-in 탐색하기  (0) 2018.07.20
21. JDBC  (0) 2018.07.13
20. Maven; Library관리도구  (0) 2018.07.11
19. EL, JSTL  (0) 2018.07.11