شرح طريقة JavaScript Math.random ()

طريقة عشوائية

Math.random()طريقة JavaScript هي طريقة مضمنة ممتازة لإنتاج أرقام عشوائية. عند Math.random()تنفيذه ، يقوم بإرجاع رقم عشوائي يمكن أن يكون في أي مكان بين 0 و 1. يتم تضمين 0 ويتم استبعاد 1.

توليد رقم عشوائى للفاصلة العائمة بين 0 و 1

و Math.random()سوف الأسلوب بإرجاع النقطة العائمة (عشري) عدد أكبر من أو يساوي 0 وأقل من (ولكن لا يساوي) 1. وبعبارة أخرى 0 <= x < 1. فمثلا:

console.log(Math.random()); // 0.7069207248635578 console.log(Math.random()); // 0.765046694794209 console.log(Math.random()); // 0.14069121642698246

(بالطبع ، ستكون الأرقام التي يتم إرجاعها مختلفة في كل مرة. سيتم افتراض ذلك لجميع الأمثلة التالية - ستحدث نتائج مختلفة في كل تمريرة.)

للحصول على رقم عشوائي بين نطاق أكبر ، اضرب الناتج Math.random()برقم.

توليد رقم فاصلة عائمة عشوائي بين 0 وحد أقصى محدد

عادة لا تحتاج إلى أرقام عشوائية بين 0 و 1 - فأنت بحاجة إلى أعداد أكبر أو حتى أعداد صحيحة.

على سبيل المثال ، إذا كنت تريد رقمًا عشوائيًا للفاصلة العائمة بين 0 و 10 ، فيمكنك استخدام:

var x = Math.random()*10; console.log(x); // 4.133793901445541

توليد رقم عشوائي للفاصلة العائمة ضمن النطاق

إذا كنت بحاجة إلى رقم فاصلة عائمة عشوائي يتراوح بين رقمين محددين ، فيمكنك القيام بشيء مثل هذا:

var min = 83.1; var max = 193.36; var x = Math.random()*(max - min)+min; console.log(x); // 126.94014012699063

توليد عدد صحيح عشوائي بين 0 و max

كثيرا ما تحتاج إلى أعداد صحيحة. للقيام بذلك ، سيتعين عليك استخدام بعض الطرق الأخرى من Mathالكائن ، Math.floor()(تقريب لأسفل إلى أقرب عدد صحيح) و Math.ceil()(تقريب لأعلى إلى أقرب عدد صحيح).

على سبيل المثال ، إذا كنت بحاجة إلى التحديد عشوائيًا من مصفوفة مكونة من 10 عناصر ، فستحتاج إلى رقم عشوائي بين 0 و 9 (تذكر أن المصفوفات مفهرسة صفرًا).

var x = Math.floor(Math.random()*10); console.log(x); // 7

(تذكر أن هذا Math.random()لن يؤدي أبدًا إلى إرجاع 1 بالضبط ، لذلك Math.random()*10لن يتم إرجاع 10. بالضبط. وهذا يعني أنه بعد التقريب ، ستكون النتيجة دائمًا 9 أو أقل.)

توليد عدد صحيح عشوائي بين 1 و max

إذا كنت بحاجة إلى رقم عشوائي مع الحد الأدنى للرقم 1 (على سبيل المثال اختيار يوم عشوائي في يناير) يمكنك استخدام هذه Math.ceil()الطريقة.

var x = Math.ceil(Math.random()*31); console.log(x); // 23

هناك طريقة أخرى لاستخدام الوظيفة السابقة (باستخدام Math.floor()) وإضافة 1 إليها:

var x = Math.floor(Math.random()*31)+1; console.log(x); // 17

توليد عدد صحيح عشوائي ضمن النطاق

أخيرًا ، تحتاج أحيانًا إلى عدد صحيح عشوائي بين رقمين صحيحين محددين. على سبيل المثال ، إذا كنت تحاول اختيار تذاكر يانصيب وكنت تعرف أرقام أقل وأكبر رقم:

var min = 1718; var max = 3429; var x = Math.floor(Math.random()*(max-min+1)+min); console.log(x); //2509

ما مدى عشوائية Math.random ()؟

يمكن الإشارة إلى أن الرقم الذي تم إرجاعه Math.random()هو رقم عشوائي شبه عشوائي حيث لا يمكن لأي جهاز كمبيوتر إنشاء رقم عشوائي حقيقي ، والذي يُظهر عشوائية على جميع المقاييس وعلى جميع أحجام مجموعات البيانات. ومع ذلك ، فإن الرقم العشوائي الزائف الذي تم إنشاؤه بواسطة Math.random()عادة ما يكون كافياً لاحتياجات أي برنامج تقريبًا قد تكتبه. تصبح العشوائية غير الحقيقية ظاهرة فقط في مجموعات الأعداد الكبيرة بشكل فلكي أو عند الحاجة إلى أعداد عشرية دقيقة بشكل غير مألوف.