가변 인수와 가변 인수의 최대값 구하기

정해진 매개변수의 함수가 아니라 가변적인 인수를 받아서 처리할 경우 받은 가변 인수를 가지고 최대값을 가져오는 예제 코드이다.

가변 인수를 가져올 때는 함수안에서 arguments 를 사용하면 된다.
ES6 부터는 rest 파라미터라고 fn(…파라미터명) 이런식으로 사용하면 된다.

function fn() {
    let arr = [];
    for (let i = 0; i < arguments.length; i++) {
        arr.push(arguments[i]);
    }
    console.log(arr)
    //return Math.max.apply(null, arr)
    //return Math.max(...arr)
    //return arr.reduce((previous, current) => { return previous > current ? previous:current;})
    //return arr.sort( (a,b)=>{ return b-a } )[0];
}
console.log(fn(1, 3, 2));

주석 처리한 총 4가지 방법이 있다.
Math.max.apply 는 ES6 이전 방식이고 Math.max 는 ES6 스프레드 연산자를 사용한다.
나머지는 reduce() 와 sort()를 사용한다.

TOP