아래와 같이 여러 string 값을 변수에 할당해봅시다. 도시를 여러개 나열하고 싶은데 변수명을 하나하나 작명하기 귀찮아서.. city
는 통일하고 숫자만 바꿔주었습니다.
let city0 = "서울";
let city1 = "대전";
let city2 = "대구";
let city3 = "부산";
let city4 = "광주";
let city5 = "제주도";
아래와 같이 사용할 수 있겠죠. 도시를 변수에 전부 담아도 몇 개 안 되니까 더 추가할 수 있을 것 같습니다.
alert(city1 + "에 오신 것을 환영합니다.");
alert(city2 + "에 오신 것을 환영합니다.");
그런데 자바스크립트로 구현한 아래 차트 한 번 보실까요? 코스피 지수의 정보를 일간 단위로 그려주는 차트입니다.
이런 차트를 위에서 보여드린 방식으로 구현 하려면... 2016년부터 2018년까지 365일 * 3년 = 대략 2천여개의 변수가 필요하네요! 이럴때 필요한 자료구조가 바로 '배열' 입니다.
let kospi_20160927 = 2062.82;
let kospi_20160928 = 2053.2;
let kospi_20160929 = 2055.56;
let kospi_20160930 = 2058.49;
배열을 사용하면 몇 천 개의 변수를 생성하지 않고, 하나의 변수에 모든 데이터를 갖고 있을 수 있습니다. 배열은 대괄호([]
)로 감싸져 있습니다.
위의 배열은 데이터가 하나도 없는 빈 배열입니다. 이제 데이터가 있는 배열을 만들어보겠습니다.
let cities = ["서울", "대전", "대구", "부산", "광주", "제주도"];
let KOSPI = [2062.82, 2053.2, 2045.92, 2058.82, 2053.12, 2055.7];
Element
: "서울", "대전"과 같은 배열의 값, 하나하나를 Element(요소)라고 부릅니다.
요소와 요소 사이에는 쉼표로 구분합니다. 요소 자리에는 이제까지 배운 String, Number, Array 모두 가능합니다.
let anything = ["대전", 1987, ["하나", "둘", 3]];
배열의 요소는 순서(index)를 갖고 있습니다. 주의해야 할 특징이 있다면 이 index는 1이 아니라 0부터 시작합니다.
anything 배열을 다시 볼까요.
var anything = ["대전", 1987, ["하나", "둘", 3]];
String형인 "대전"은 index가 0, Number형인 1987은 index가 1, Array형인 ["하나", "둘", 3]은 index가 2입니다.
index를 사용하면 해당 배열의 요소를 가져올 수도 있습니다.
배열이름[index]
예를들어, anything[0]은 "대전"입니다. anything[1]은 1987입니다. console.log로 요소를 출력해봅시다.
console.log(anything[0]);
console.log(anything[1]);
console.log(anything[2]);
이런 표현도 가능하겠네요.
alert(anything[0] + "에 오신 것을 환영합니다.");
getElement
함수안에 arr
변수를 선언했습니다.arr
변수는 배열을 할당했고요, 배열에는 다양한 데이터 타입의 요소가 들어있네요!arr
변수에 접근하여 getElement
함수가 "array"
라는 문자열을 return
할 수 있도록 해주세요.addFirstAndLast
함수를 작성해주세요.addFirstAndLast
함수에 주어진 인자 myArray
는 숫자 값으로만 이루어진 array 입니다.addFirstAndLast
함수에 주어진 인자 myArray
의 첫번째 element와 마지막 element의 값을 더한 값을 리턴해주세요.myArray
에 한 개의 요소만 있다면 해당 요소의 값을 리턴해 주시고 요소가 없는 비어있는 array라면 0을 리턴해주세요.// 강의 내용 코드를 테스트 하세요.
// Assignment1 - 다음 함수 안에 코드를 구현하세요
function getElement() {
let arr = [3, [4, ["array", 9], 2+3], [0]];
return arr[1][1][0];
}
// Assignment2 - 다음 함수 안에 코드를 구현하세요
// ex) myArray = [3, 2, 5];
function addFirstAndLast(myArray) {
if(myArray.length == 1){
return myArray[0]
}else if(myArray == 0){
return 0;
}else{
return myArray[0] + myArray[myArray.length-1];
}
}