function add(numbersarray) {
let sum = 0;
for (let i=0; i<numbersarray.length; i++) {
sum = sum + numbersarray[i];
} return sum;
}
add([1,2,3,4,5])
>> 15
===================================
function add(...numbersarray) {
let sum = 0;
for (let i=0; i<numbersarray.length; i++) {
sum = sum + numbersarray[i];
} return sum;
}
add(1,2,3,4,5)
>>> 15
이렇게 두가지 방법으로 해결했습니다.
numbersarray 앞에 ... << 을 넣어서 배열로 저장? 하는건가봐요
함수의 마지막 매개변수 앞에 "..."(세 개의 U+002E FULL STOP 문자)를 붙이면 (사용자가 제공한) 모든 후속 매개변수를 표준 JavaScript 배열에 넣도록 지정합니다. 마지막 매개변수만 나머지 매개변수로 설정할 수 있습니다.
이거 보고 했어요.
둘째는 덧글로 알려주신대로
함수 호출할때 대괄호로 배열로 적어서 해결했습니다.
이해가 잘 안가는게
두가지 다 안했을때에 return sum 했을때 결과값이
0으로 나왔는데 왜 그럴까요??
둘 다 안하면 들어간 1, 2, 3, 4, 5가 배열이 아니고 배열.length가 없어서 반복문이 안도니까 바로 return sum 된거아님? JS 안써서 모름
배열로 안넣으면 파라미터가 너가 넣은 숫자를 각각의 매개변수로 인식함 근데 함수에 지정된 매개변수는 한개 뿐이니까 함수에 들어간 인자는 1이 된거임 근데 숫자에 length를 넣으면 undefined가 나오고 반복문이 실행이 불가능하니 건너뛰고 sum의 초기값 0이 출력되는거임 - dc App