Javascript/함수

함수 파라미터에서의 rest와 함수 인자에서의spread(feat. reduce)

appmaster 2021. 2. 2. 11:30

1. 함수 파라미터에서 rest

function sum(...rest){
    return rest.reduce((acc, current)=> acc+current,0);
}

console.log(sum(1,2,3,4,5,6,7,8));
//출력값
36

매개변수에 rest를 선언하면 그 자체가 배열로 인식이 됩니다.

즉, ...rest 매개변수는 = [1,2,3,4,5,6,7,8] 로 인식이 되고 있는겁니다.

 

 

 

2. 함수 인자에서의 spread

function max(...numbers){
    return numbers.reduce((acc,current)=>(
        acc>current ? acc:current
),numbers[0]);
}

const numbers = [1,2,3,4,10,5,6,7];
const result = max(...numbers);
console.log(result);

이렇게 인자에 spread 연산자를 사용하는것도 가능합니다.