let anything = ["대전", 1987, ["하나", "둘", 3]];
배열의 값 하나하나를 Element 라고 부른다. Element 간에는 , (쉼표)
로 구분한다.
요소 자리에는 이제까지 배운 String, Number, Array 모두 가능하다. (Array 안에 Array를 넣을 수 있다는점을 기억하자! Nested Array 라고 부른다.)
배열의 요소들은 index(순서)를 가지고 있다. index 는 0부터 시작한다.
Array 의 요소들을 호출하거나 사용하려면 어떻게 써야할까?
arrayName[indexNumber]
이렇게 쓰면 된다. 위의 예시에서 anything[1]
이라고 쓰면 1987이 출력된다. 그 요소가 필요해서 부를 때, 가져다 쓸 때 저렇게 간단하게만 쓰면 된다는 것이다.
arrayName.length;
.length
는 array 의 길이를 구하는 property 이다. 말 그대로 배열의 길이, 즉 요소의 갯수를 세 준다.
length 는 몇번째 element 를 선택하거나, 혹은 마지막부터 시작하는 조건문을 짜거나 하는 경우에 아주 유용하게 쓰이는데, 아래의 예시를 보자.
var my_array = /* some array here */;
var last_element = my_array[my_array.length - 1];
🔥주의할 점
예시에서처럼 마지막 요소를 불러올 때, array.length 는 항상 요소의 갯수와 일치하지만, index 는 0부터 시작하기에 번호가 항상 1 씩 적으므로 위와 같이 쓴 것이다.
예를들어, arr["첫번째", "두번째", "세번째"]
이렇게 생긴 array 가 있을때 arr.length
는 3
이고, "세번째"
를 부를때 는 arr[2]
이다.
Assignment
const myArray = [1, 3, 3, 4];
function addFirstAndLast(myArray) {
if(myArray.length > 1) {
return myArray[0] + myArray[myArray.length-1];
} else if(myArray.length === 1) {
return myArray[0];
} else if(myArray.length < 1 {
return 0;
}
}
addFirstAndLast(myArray);
위의 예시를 보면, array 의 요소의 갯수를 기준으로 if 조건문을 만든것을 볼 수 있다.
🏝 곁다리로 알아본 것
이렇게 마지막 element 를 구하는 방법을 알아봤는데,
실제로 실무에서 마지막 element 를 구해야할 일은 언제가 있을까? 예를 들면 사용자의 위치를 계속 받아서 지도에 표시해주는 일을 하고 싶을 때, 마지막 Element 로 사용자의 위치를 받는 것이다.
아래의 스택오버플로우 질문에서 그 문제를 해결하기 위한 방식으로 아래와같이 제시하고 있다.
참고: https://stackoverflow.com/questions/9050345/selecting-last-element-in-javascript-array/35913596
var array1 = loc['f096012e-2497-485d-8adb-7ec0b9352c52'];
var last_element = array1[array1.length - 1];
Method 를 추가해서 그일을 해결하는 function을 만들수도 있다. (고 한다. 아직 이 코드는 정확히 무엇인지 파악하지 못했다.)
if (!Array.prototype.last){
Array.prototype.last = function(){
return this[this.length - 1];
};
};