Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

สุ่มตัวเลข n ตัวในช่วงที่กำหนด - JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n และอาร์เรย์ 2 ตัวเลขที่แทนช่วง (range) ฟังก์ชันควรคืนค่าอาร์เรย์ของ n ตัวเลขสุ่มทั้งหมดอยู่ในช่วงที่กำหนด

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const num = 10;
const range = [5, 15];

const randomBetween = (a, b) => {
  return ((Math.random() * (b - a)) + a).toFixed(2);
};

const randomBetweenRange = (num, range) => {
  const res = [];
  for(let i = 0; i < num; ){
    const random = randomBetween(range[0], range[1]);
    if(!res.includes(random)){
      res.push(random);
      i++;
    };
  };
  return res;
};

console.log(randomBetweenRange(num, range));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้ (เป็นเพียงตัวอย่างหนึ่งของหลายผลลัพธ์ที่เป็นไปได้):

[
  '13.25', '10.31',
  '11.83', '5.25',
  '6.28', '9.99',
  '6.09', '7.58',
  '12.64', '8.92'
]

ลองรันอีกครั้งเพื่อได้ผลลัพธ์สุ่มที่ต่างกัน:

[
  '5.29', '7.95',
  '11.61', '7.83',
  '10.56', '7.48',
  '12.96', '6.92',
  '8.98', '9.43'
]