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

วิธีตัดค่าบางค่าออกจากอาร์เรย์สุ่มใน JavaScript

เราต้องสร้างฟังก์ชันที่รับ 2 อาร์กิวเมนต์: จำนวนเต็มและอาร์เรย์ของจำนวนเต็ม อาร์กิวเมนต์แรกระบุความยาวของอาร์เรย์ที่ต้องคืน อาร์กิวเมนต์ที่สองมีสมาชิกที่ไม่ควรอยู่ในอาร์เรย์ที่คืน จริงๆ เราต้องการอาร์เรย์ตัวเลขสุ่มระหว่าง 0 ถึง 100 แต่ไม่รวมสมาชิกที่อยู่ในอาร์กิวเมนต์อาร์เรย์

หมายเหตุ - ห้ามมีตัวเลขซ้ำกันสองตัว

เรียกฟังก์ชันว่า generateRandom() โค้ดคือ

ตัวอย่าง

const absentArray = [44, 65, 5, 34, 87, 42, 8, 76, 21, 33];
const len = 10;
const generateRandom = (len, absentArray) => {
  const randomArray = [];
  for(let i = 0; i < len; ){
    const random = Math.floor(Math.random() * 100);
    if(!absentArray.includes(random) && !randomArray.includes(random)){
      randomArray.push(random);
      i++;
    }
  };
  return randomArray;
}
console.log(generateRandom(len, absentArray));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น

[ 23, 93, 29, 25, 37, 63, 54, 11, 69, 79 ]