Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 두 정수 사이의 무작위 정수 생성하기

정확히 두 개의 숫자를 요소로 가지며 하나의 범위를 나타내는 배열을 입력받는 JavaScript 함수를 작성해야 합니다.

이 함수는 인자로 전달된 범위 안에서 무작위 정수를 생성해야 하며, 최솟값과 최댓값 양쪽 끝 숫자도 포함되어야 합니다.

구현 원리

무작위 정수를 만들기 위해 Math.random() 메서드를 활용합니다. Math.random()은 0 이상 1 미만의 소수를 반환하므로, 원하는 범위의 크기인 (최댓값 − 최솟값 + 1)을 곱하고 Math.floor()로 소수점을 버린 뒤 최솟값을 더하면 됩니다. 여기서 +1을 해주는 이유는 최댓값 자체도 결과에 포함시키기 위함입니다.

구현 예제

const range = [5, 15];
const randomBetween = ([min, max]) => {
    // +1을 더해 최댓값까지 포함되도록 함
    const random = Math.random() * (max - min + 1);
    const whole = Math.floor(random) + min;
    return whole;
};
for(let i = 0; i < 10; i++){
    console.log(randomBetween(range));
}

실행 결과

콘솔에 출력되는 결과는 다음과 같습니다.

13
10
6
10
12
5
14
13
11
6

이 코드는 배열 비구조화 할당(destructuring)을 사용해 min과 max 값을 한 번에 추출하므로 코드가 간결합니다. 또한 Math.random()은 호출될 때마다 새로운 난수를 생성하기 때문에, 위 출력 결과는 프로그램을 실행할 때마다 달라질 수 있다는 점에 유의하세요.