-
[TIL] Javascript 배열의 마지막 요소의 값 구하기Develope/Javascript 2020. 4. 22. 00:34
1. 문제
addFirstAndLast 함수 안에 작성해주세요. addFirstAndLast 함수에 주어진 인자 myArray는 숫자 값으로만 이루어진 array 입니다. addFirstAndLast 함수에 주어진 인자 myArray 의 첫번째 element와 마지막 element의 값을 더한 값을 리턴해주세요.
문제를 보고 금방 할 수 있을 거 같았다.
첫 번째 요소는 어떤 배열이든 array[0]이고, 마지막 값은 array[마지막 인덱스] 이기 때문이다.
처음 작성한 코드를 살펴보자.
코드를 살펴보면 이와 같다.
-
숫자로 이루어진 배열을 array 변수에 담는다.
-
addFirstAndLast 함수를 호출하는데 인자로 array를 전달한다.
-
addFirstAndLast 함수에 매개변수를 myArray로 지정하고 첫 번째 요소와 마지막 요소를 리턴한다.
-
결과는 잘 나온다.
보기에는 아무 문제가 없는 코드이다. 하지만 submit이 안되었다.
왜 그럴까?? 계속 찾아보다가 멘토님께 힌트를(사실.. 답을) 얻었다.
멘토님 : 지금은 array의 인덱스가 2번째까지 있는데 만약 1번째 까지 있으면 이 코드가 실행이 될까요??
나: 음... 아니요..
당연하다. 왜냐하면 위의 코드에서는 마지막 요소의 값을 2번째 index로 픽스되었기 때문에 정적인 거다.
코드를 보면서 살펴보자.
콘솔을 확인해 보면 NaN이라 뜬다.
NaN이란 표현 불가능한 수치형 결과를 나타내는 값을 뜻한다.
array의 인덱스는 1까지 인데, 0번째 인덱스와 값과 2번째 인덱스의 값을 더하니까 당연한 결과다.
2. 해결방안
◎ 멘토님과 다시 검색한 결과, 숫자로 정의된 배열의 인덱스가 유동적이어도 마지막 요소를 찾아내는 법을 찾았다.
배열[배열.length - 1];
위의 코드처럼 하면 된다.
-
myArray[myArray.length - 1]을 하면 배열이 바뀌어도 마지막 요소를 찾을 수 있다.
-
배열의 길이에서 -1의 인덱스를 찾으면 되는 것이다.
3. 반성
잘 풀리지 않는 문제가 생기면 검색을 하는 건 좋은 습관이다.
하지만 검색도 실력이다. 어떻게 검색하느냐에 따라 그에 대한 문제도 해결할 수 있다.
검색하는 방법도 길러보자!!
※ 참조.
https://stackoverflow.com/questions/9050345/selecting-last-element-in-javascript-array
+ 멘토님
'Develope > Javascript' 카테고리의 다른 글
[TIL] Javascript Object (0) 2020.04.29 [TIL] Javascirpt Scope (0) 2020.04.23 [TIL] Javascript의 프로토타입과 클래스 (0) 2020.04.14 [TIL] Javascript 배열 내장 함수 (0) 2020.04.07 [TIL] Javascript 반복문 (0) 2020.04.01 -