온도의 합과
평균을 구하기위한 카운터 합을
전역변수로 관리한다.
그리고 평균을 구하는 함수 averageTemperature 현재 평균을 받고 이전 온도와 현재 온도를 더하고 더한 값을 카운터를 1 증가시킨 후 평균을 리턴한다.
setInterval에서 0-31사이의 값을 랜덤으로 생성하고 averageTemperature를 호출하는 방식으로 진행된다.
// 전역변수 선언
// 입력된 온도 합
let sumTemperature: number = 0;
// 입력된 온도 카운터합
let sumCounter: number = 0;
/**
* 온도의 평균값 구하는 함수
* @param {number} currentTemperature
*/
const averageTemperature = (currentTemperature: number) => {
sumTemperature += currentTemperature;
return sumTemperature / ++sumCounter;
}
setInterval(() => {
console.log(averageTemperature(Number((Math.random() * 31).toFixed(2))));
}, 60000);
무한으로 호출되기 때문에 number의 자료형의 최대 메모리를 넘어 갈경우 오류가 날수 있다.