쌓고 쌓다

[혼공스] ch.5-1 확인문제 본문

프로그래밍/JavaScript

[혼공스] ch.5-1 확인문제

승민아 2022. 11. 15. 00:05

1. A부터 B까지 범위를 지정했을 때 범위 안의 숫자를 모두 곱하는 함수 만들기.

function multiplyAll(a , b)
{
    let res=1
    for(let i=a;i<=b;i++)
    { res*=i }
    return res;
}



console.log(multiplyAll(1, 2))
console.log(multiplyAll(1, 3))

 

2. 최대값을 찾는 max() 함수 만들기.

(1) 매개변수 max([1, 2, 3, 4])와 같은 배열을 받는 max() 함수를 만들기.

const max = function (array) {
    let output = array[0]
    for(let i=1; i<array.length; i++)
    { 
        if(output < array[i])
        {
            output = array[i]
        }
    }
	return output
}

console.log(max([1, 2, 3, 4]))

 

(2) 매개변수 max(1, 2, 3, 4)와 같이 숫자를 받는 max() 함수를 만들기.

const max = function(...array) {
    let output = array[0]
    for(let i=1; i<array.length; i++)
    {
        if(output<array[i])
        { output=array[i] }
    }
    return output
}
console.log(max(1, 2, 3, 4))

 

(3) max([1, 2, 3, 4]) 형태와 max(1, 2, 3, 4) 형태를 모두 입력할 수 있는 max() 함수를 만들기

const max = function(first, ...rests){

    let output

    if(Array.isArray(first))
    {
        output=first[0]
        for(let i=1; i<first.length; i++)
        {
            if(output < first[i])
            {
                output = first[i]
            }
        }
    }
    else if(typeof(first)==='number'){
        output=first
        for(let i=1; i<rests.length; i++)
        {
            if(output < rests[i])
            {
                output = rests[i];
            }
        }
    }

    return output
}


console.log(`max(배열): ${max([1, 2, 3, 4])}`)
console.log(`max(숫자, ...): ${max(1, 2, 3, 4)})`)

 

+ 매개변수가 하나일때 리스트와 숫자들을 던지고 출력해보자.

배열이라면 배열이 들어가고 숫자들이라면 첫 숫자만 들어간다.

 

+ Array.isArray()의 반환형은 뭘까?

=> 반환형은 true, false이다.

 

+ 나머지 매개변수를 for문으로 출력이 가능할까?

Comments