function lastElement(num) {
let last = num;
if (last.length > 0) {
return last[last.length - 1];
} else {
return null;
}
}
입력한 함수 배열의 맨 뒷자리를 추출한다.
lastElement([1,2,3]) 를 입력하면 3 값이 return된다 이후 num의 last = [1,2,3]이 입력되고
last.length 길이가 0보다 작으면 num의 값이 입력되지 않은거이기 때문에 else로 들어가 null값을 return
function capitalize(string) {
let firstLetter = string.slice(0, 1);
let Letter = string.slice(1, string.length);
return firstLetter.toUpperCase() + Letter
}
입력한 함수 string의 첫글자를 대문자로 만들어준다.
스트링의 첫글자만 대문자로 만드는 매소드는 없으므로 string의 첫글자와 나머지 글자를 분리하고 합쳐야함
firstLetter의 첫 글자를 string.slice(0, 1) ; 0번째에서 1번째까지 ( 0번째 선택 ) 로 추출해 변수를 지정하고
.toUpperCase()를 붙혀 대문자로 return한다.
이후 나머지 글자를 추출하기 위해 slice(1, string.length)를 사용하여 1번째부터 string의 글자 수만큼
즉, 1번째부터 string.length-1 까지 선택하여 추출해 Letter로 변수를 지정하고
두 변수를 합쳐 return한다.
function sumArray(num) {
let array = num;
let total = 0;
for (let i = 0; i < array.length; i++) {
total = total + array[i];
}
return total
}
함수에 입력한 배열을 모두 더해준다음 값을 return하는 함수이다.
입력한 배열을 받아줄 변수로 array 변수를 만들었으며 배열을 모두 더한다음 return하기 위한 변수가 필요해서
total 변수를 만들었는데, 초기값은 당연히 0으로 설정했다. 해당 total값을 for에 넣게 된다면
for 안에서 total값이 끝나 반복문이 끝나고 return이 안되기 때문에 for문 밖에 작성했으며
array[i] 이므로 i의 값은 배열의 마지막 번호까지 반복되어야 하기 때문에 array.length 보다 작게 사용했다.
length는 항상 전체 array의 마지막 번호보다 1 크다.
추가로 이 코드를 작성할때 i = 0; 을 let을 사용하지 않고 작성해서 에러가 나버렸다.
조심하자
function returnDay(day) {
if (day > 7 || day <= 0) {
return null;
} else {
let weekDay = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
return weekDay[day-1];
}
}
day의 값이 7 이상이거나 0이하면 null이 나오고 1~7이면 월화수목이 나오는 코드이다.
1부터 월요일을 출력해야하기 때문에 return값에 day-1을 작성하였고
추가로 이 코드를 작성할때 weekDay[day-1]을 적어야 하는데 weekDay(day-1) 을 작성해서 에러가 나는
바보짓을 했다. 조심좀하자
'The Web Developer 부트캠프 2022' 카테고리의 다른 글
JS BLOCK, var, lexical scope, 함수를 변수로 (0) | 2022.09.19 |
---|---|
JS SCOPE (0) | 2022.09.19 |
Function 함수 (0) | 2022.09.19 |
JS 숫자맞추기 게임 (0) | 2022.09.18 |
JS 반복문 (0) | 2022.09.18 |