본문 바로가기
팁 & 노하우/Javascript

실전 꿀팁 + javascript 정수 random 랜덤 난수 만들기

by 대디동동 2024. 3. 7.
728x90

javascript를 사용해서 난수를 만들때 Math.random() 을 활용합니다.

하지만, 그냥 사용할 경우 소수점이하로 나오기 때문에,

array, list 등 배열에서 랜덤하게 값을 가져올 경우 제대로 사용할 수 없습니다.

 

이번 게시물에서는 정수로 랜덤하게 값을 가져오는 방법을 설명하겠습니다.


Math.random() 사용법

0 이상 1 미만의 난수 생성하기

function getRandomDecimal() {
  return Math.random();
}

 

최소값 최대값 사이의 난수 생성하기

function getRandomRange(min, max) {
  return Math.random() * (max - min) + min;
}

 

최소값 최대값 사이의 정수 난수 생성하기

// min <= ??? < max (최소값 포함, 최대값 제외할 경우)
function getRandomRangeInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min; 
}



// min <= ??? <= max (최소값, 최대값 포함 할 경우) 
function getRandomRangeMaxInclusiveInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

 

Junior 개발자에게 드리는 팁

자바스크립의 랜덤 함수는 현업에서 이미지를 랜덤하게 보여주거나,  

순위를 랜덤하게 변경하는 경우에 많이 사용하는데,

이때 배열의 갯수를 반환하는 length 함수와 같이 사용하는 경우가 많아서

0부터 시작하는 배열의 특성으로 최대값 보다 무조건 -1이 되어야 하니,

최대값을 제외하고 가져오는 getRandomRangeInt() 함수가 많이 사용됩니다.

// min <= ??? < max (최소값 포함, 최대값 제외할 경우)
function getRandomRangeInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min)) + min;
}

$(document).ready(function () {
    let arr = ['One', 'Two', 'Three', 'Four', 'Five'];

    let randomInt1 = getRandomRangeInt(0, arr.length);
    let randomInt2 = getRandomRangeInt(0, arr.length);
    let randomInt3 = getRandomRangeInt(0, arr.length);
    let randomInt4 = getRandomRangeInt(0, arr.length);
    let randomInt5 = getRandomRangeInt(0, arr.length);

    console.log(arr[randomInt1]);
    console.log(arr[randomInt2]);
    console.log(arr[randomInt3]);
    console.log(arr[randomInt4]);
    console.log(arr[randomInt5]);
});

Five
Five
Two
Two
One

 

간단하게 정수 랜덤 값을 가져오는 방법을 통해서 초보 개발자 분들에게 많은 도움이 되었으면 합니다.

반응형