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

สุ่มค่าจาก Array ใน JavaScript

วิธีทำ

ใช้ Math.random() ร่วมกับ Fisher-Yates shuffle algorithm

ตัวอย่างโค้ด

var subjectNames = ["Javascript", "MySQL", "Java", "MongoDB", "Python","Spring Framework"]; 
for(var index = subjectNames.length - 1; index > 0; index--){ 
  var rndIndex = Math.floor(Math.random() * (index + 1)); 
  var subjNameTemp = subjectNames[rndIndex]; 
  subjectNames[rndIndex] = subjectNames[index]; 
  subjectNames[index] = subjNameTemp; 
} 
var getRandomSubjectName = subjectNames.slice(0, 3); 
console.log(getRandomSubjectName);

วิธีรัน

node fileName.js

ชื่อไฟล์ demo178.js

ผลลัพธ์

PS C:\Users\Amit\javascript-code> node demo178.js 
[ 'Javascript', 'MySQL', 'Python' ]

คำอธิบาย

ใช้ Fisher-Yates shuffle สับเปลี่ยน array แบบ random แล้ว slice(0, 3) เอา 3 ตัวแรก ได้ 3 ค่าที่สุ่มไม่ซ้ำ