Q. 하나의 숫자를 인자로 받아 5보다 크면 true 아니면 false를 반환하는 함수를 구현해주세요.
내 답안
function isBiggerThanFive(num) {
if( num > 5){
return true
}else{
return false
}
}
isBiggerThanFive();
개선후 )
나는 if문을 사용해서 함수를 작성했다. 물론 위의 방법은 틀린 것은 아니다. 하지만 true,false를 반환하는 경우라면 아래와 같이 한 줄로 작성할 수 있다. 와우!!
**return에 조건식을 적으면 boolean으로 반환한다. 이후 모든 문제를 ...한줄로 작성할 수 있었다는 매직!
function isBiggerThanFive(num) {
return num >5;
}
isBiggerThanFive(8)
Q. 인자로 반드시 길이가 2 이상인 배열이 들어옵니다.배열의 두번째 요소를 반환하는 함수를 구현해주세요.
내 답안
function getSecondElement(numbers) {
let result = numbers
if(result.length > 2){
return result[1];
}
}
let number = [1,6,7,4];
console.log(getSecondElement(number))
개선후 )
전반적으로 이번 시험에서 내가 문제를 다소 어렵게 생각했다. “2이상인 배열이 들어온다” 라는 문구를 보고 아 조건식이구나! 라고 생각했다. 그래서 위와 같은 코드를 작성했다. 먼저, 배열의 길이를 보고 2이상인지 확인 작업을 하고 그 후에 배열의 2번째 요소를 작성한다 라고 적었다.... 그렇지만 정작 문제는 걍 배열의 두번째 요소를 보여달라는 말이었다ㅠㅠ
function getSecondElement(numbers) {
return numbers[1];
}
let number = [1,6,7,4];
console.log(getSecondElement(number))
Q.아래 조건을 만족하는 함수를 구현해주세요.
배열은 길이가 1이상이며 모든 요소가 숫자로 되어있습니다.
배열 모든 요소의 합을 반환하는 함수를 구현해주세요.
내답안
function getSumOfArray(numbers) {
let arr = numbers;
let check = arr.forEach(arr => arr === number);
const sum = arr.reduce((a,b) => a +b);
if(arr.length < 1 && !check ){
return false
}else{
return sum
}
}
getSumOfArray()
개선후
function getSumOfArray(numbers) {
let amount = 0;
for( let i = 0; i < numbers.length ; i++){
amount += numbers[i];
}
return amount;
}
getSumOfArray()
function getSumOfArray(numbers) {
numbers.forEach((num) => {return amount += num});
return amount;
}
getSumOfArray()
Q. 배열에서 성인을 찾아 그 이름을 반환하는 함수를 만들어주세요.
함수는 인자로 객체가 요소인 배열을 받습니다.
배열의 요소는 각 사람에 대한 객체이며 아래는 배열의 예시입니다.
배열 예시 : [
{ name: 'tom', age: 10, gender: 'male' },
{ name: 'sera', age: 30, gender: 'female' },
]
함수의 반환값 : 'sera'
배열에는 성인이 없거나 오직 한 명만 있습니다.
배열에 성인이 없다면 false를 반환해주세요.
19세까지는 미성년자, 20세부터는 성인으로 가정합니다.
내 답안
function findAdultName(people) {
for(let i = 0; i < people.length; i++){
if(people[i].age >= 20) return people[i].name
}
return false;
}
let obj = [
{ name: 'tony', age: 10, gender: 'male' },
{ name: 'sera', age: 30, gender: 'female' },
]
findAdultName(obj);