강의로 돌아가기
-

정답 맞췄는데.. 콘솔 결과는 왜 이럴까요..?

안녕하세요. 질문이 있어서 글 남기게 되었습니다.

function average(array){
//함수를 완성하세요
var sum = 0;
for(var i=0; i < array.length; i++){
sum += array[i];
}
return parseInt(sum/array.length);
}

average(1,2,3); 하면 결과가 = 2 가 나올 줄 알았는데

Q1. 왜 NaN 이 나오나요..?

Q2. NaN이면 Number 타입이고 parseInt 안에 첫글자가 문자(숫자를 제외한 문자)가 등장하면 NaN 되는걸로 알고 있습니다. 맞나요...?

작성중인 코드―getMean.js
1
2
3
4
5
6
7
8
function average(array){
  //함수를 완성하세요
  var sum = 0;
  for(var i=0; i < array.length; i++){
    sum += array[i];
  }
  return parseInt(sum/array.length);
}
1 개의 답변
정두식_

A1: average(1,2,3);은 array를 넘긴게 아니라, 1,2,3에 해당하는 3개의 매개변수를 넘긴것이기 때문에 그렇습니다. [1,2,3]을 매개변수로 넘기셔야 합니다.
A2: 네. NAN은 not a number를 줄인말로 console.log(parseInt("ABC"));를 실행하면 NaN이 나옵니다.

  • -
    고맙습니다.~
    -―2017.08.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.