U9nzxdjhgbxvpserb7o0
codegrow
  • 2016.4.17 14:56
  • 조회수 252
  • 답변수 1
U9nzxdjhgbxvpserb7o0
codegrow
  • 2016.4.17 14:56
  • 조회수 252
  • 답변수 1

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

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

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
function average(array){
  //함수를 완성하세요
  var sum = 0;
  for(var i=0; i < array.length; i++){
    sum += array[i];
  }
  return parseInt(sum/array.length);
}
  • #자바스크립트 입문
  • #평균구하기

1 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.4.17 18:56

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

    • 고맙습니다.~-codegrow
      2016.4.18 00:56

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.