function isEven(num) {
if(num % 2 === 0){
return "짝수 입니다."
}else {
return "짝수가 아닙니다."
}
}
argument로 받은 num을 2로 나눈 나머지가 0일 때 "짝수 입니다."를 return하고 그렇지 않다면(2로 나눈 나머지가 1이라면) "짝수가 아닙니다."를 return.
function calculateTotal(amount) {
const tax = 0.095;
const tip = 0.15;
const taxTotal = amount * tax;
const tipTotal = amount * tip;
return amount + taxTotal + tipTotal
}
세금과 팁이 각각 9.5%, 15%니까 함수 안에 변수로 각각 선언, 할당해놓고 이후 argument로 받은 amount에 대한 세금과 팁을 각각 taxTotal, tipTotal 이라는 변수에 할당한 후 amount와 taxTotal과 tipTotal을 더한 값을 return.
function getPrefix(str) {
if(str.indexOf("-")){
const idx = str.indexOf("-");
return str.slice(0, idx)
}
}
str이라는 argument로 문자열을 받고 조건문을 통해 만약에 str이라는 문자열에 -(hyphen)이 들어간다면 함수가 실행되게 하고 싶었다. 그래서 조건문에 hyphen이 들어간다면 조건문의 조건 부분이 truthy가 되기 때문에 조건문 안 부분이 실행되고 hyphen의 index를 idx라는 변수에 할당한 후 slice 메서드를 통해 str의 첫 글자부터 idx에 할당된 index 값 이전까지의 string을 return.
function getFind(filter, sentence) {
for(let i = 0; i < sentence.length; i++){
if(sentence[i] === filter){
return i;
}
}
return -1;
}
filter이라는 argument에 문제조건의 문자가 들어가고 sentence라는 argument에 문제조건의 문자열이 들어간다고 했을 때 loop를 돌려서 filter를 sentence로 한 글자 by 한 글자로 돌리고 싶었다.
그래서 sentence에 들어가는 문자열의 length만큼 for문을 돌리고 만약 sentence에 들어가는 문자열 중에 filter에 들어가는 문자와 같은 글자가 있다면 i 안에 들어가있는 index를 return하고 for문을 돌렸는데도 filter와 맞지 않는 글자가 없어서 i를 return하지 못했다면 -1을 return.
function find_longest_word(arr) {
for(let i = 0; i < arr.length; i++){
let longestWord;
arr[i].length > arr[i+1].length? longestWord = arr[i] : longestWord = arr[i+1]
return longestWord;
}
}
배열 형식의 argument를 arr로 받고 반복문을 통해 arr의 i index의 값과 i+1 index의 값의 length를 비교하고 이미 선언된 longestWord라는 변수에 length가 더 긴 요소를 할당하고 반복문이 돌면 length가 가장 긴 요소가 longestWords 변수에 할당되고 그 변수를 return.
동기 중에 argument로 받은 arr이라는 배열을 sort 고차함수를 통해 length 순으로 나열하고 나열된 배열의 첫 번째 요소를 return하는 방식으로 푸신 분이 계신데 생각하기에 너무 멋지고 반짝이는 방식으로 푼 것 같아 sort 고차함수를 공부하고 싶어짐...곧 할거임...곧...진짜 곧...기다려라 sort