Programming/JavaScript

Array 객체 살펴보기

junnnhhh 2024. 2. 19. 21:12
728x90

배열이란 리스트처럼 다수의 값들을 순차적으로 포함하고 있는 하나의 객체이다.

 

배열 만들기

var shopping = ["bread", "milk", "cheese", "hummus", "noodles"];

배열은 보통 대괄호를 사용하여 표시를 한다.

 

또한, JavaScript의 경우, 배열 내부의 한 타입으로만 이루어지는 것이 아닌 다양한 형태의 요소들을 함께 넣을 수 있다.

var sequence = [1, 1, 2, 3, 5, 8, 13];
var random = ["tree", 795, [0, 1, 2]];

 

배열 내부 요소의 총 개수를 알고 싶은 경우 array.length 를 통해 알 수 있다.

※ 간혹 length()로 헷갈릴 수 있는데 이 부분은 조심하자!

var sequence = [1, 1, 2, 3, 5, 8, 13];
var random = ["tree", 795, [0, 1, 2]];

sequence.length; // 7
random.length; // 3

 

문자열을 배열로, 배열을 문자열로

문자열을 배열로 변환하는 경우에는 split()

배열을 문자열로 변환하는 경우에는 join()

var myData = "Manchester,London,Liverpool,Birmingham,Leeds,Carlisle";

var myArray = myData.split(",");
myArray;
// ["Manchester", "London", "Liverpool", "Birmingham", "Leeds", "Carlisle"]
var myNewString = myArray.join(",");
myNewString;
// "Manchester,London,Liverpool,Birmingham,Leeds,Carlisle"

 

배열에 원소를 추가

push() : 배열 마지막에  요소를 추가하고 추가한 배열의 길이를 반환한다.

var sports = ["축구", "야구"];
var total = sports.push("미식축구", "수영");

console.log(sports); // ['축구', '야구', '미식축구', '수영']
console.log(total); // 4

unshift() : 배열 맨 앞 쪽에 새로운 요소를 추가하고, 추가한 배열의 길이를 반환한다.

var arr = [1, 2];

arr.unshift(0); // result of call is 3, the new array length
// arr is [0, 1, 2]

arr.unshift(-2, -1); // = 5
// arr is [-2, -1, 0, 1, 2]

arr.unshift([-3]);
// arr is [[-3], -2, -1, 0, 1, 2]

 

배열에서 마지막 요소를 제거

pop() : 배열 마지막 요소를 제거하고 그 요소를 반환한다.

var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var popped = myFish.pop();

console.log(myFish); // ['angel', 'clown', 'mandarin' ]
console.log(popped); // 'sturgeon'

shift() : 배열 첫번째 요소를 제거하고 그 요소를 반환한다.

var myFish = ["angel", "clown", "mandarin", "surgeon"];

console.log("myFish before: " + myFish);
// "제거전 myFish 배열: angel,clown,mandarin,surgeon"

var shifted = myFish.shift();

console.log("myFish after: " + myFish);
// "제거후 myFish 배열: clown,mandarin,surgeon"

console.log("Removed this element: " + shifted);
// "제거된 배열 요소: angel"

 

728x90