최소(min), 최대값(max)을 받아 그 사이의 랜덤수를 return 하는 함수를 구현해주세요.
- 함수는 짧지만, 이번에는 수학의 뇌를 조금 써야 하는 assignment 입니다. 🙌
- 앞으로 랜덤함수를 쓸 일이 정말 많습니다.
- 그런데 Math.random() 으로는 내가 원하는 범위의 랜덤수를 얻을 수가 없습니다.
- 항상 0.0000000000000000에서 0.9999999999999999 사이 값만 return 해주기 때문이죠.
function getRandomNumber(min, max) {
let randomNumber = Math.floor(Math.random()*(max-min+1)+min);
return randomNumber;
}
console.log(getRandomNumber(4,10)); // 4이상 10이하 랜덤 정수
function getRandomNumber(min, max) {
let randomNumber = Math.round(Math.random() * (max - min) + min);
if(randomNumber <= max){
return randomNumber;
}else{
getRandomNumber(min,max);
}
}
console.log(getRandomNumber(4,10)); // 4이상 10이하 랜덤 정수
수학 계산(참조): Math객체
console.log(Math.round(2.5)); // 3
활용: 별점(평점)의 평균을 내고 별을 색칠할 때
console.log(Math.ceil(2.49)); // 3
console.log(Math.floor(2.5)); // 2
랜덤함수 Math.random()
은 0.0000000000000000에서 0.9999999999999999 사이의 값에서 랜덤수를 제공합니다
var randomNumber = Math.random();
console.log(randomNumber);
활용: 로또, 이벤트 당첨자 뽑기 등
// ex) 0 ~ 9 랜덤수를 구하는 랜덤함수
var randomNumber = Math.random();
console.log(Math.floor(randomNumber*10));