نسخة الكود كما يلي:
<script language = "javaScript">
// من Array Arr ، ارجع عشوائيًا دون التكرارات
وظيفة getArrayItems (arr ، num) {
// قم بإنشاء صفيف جديد ونسخ الصفيف الذي تم تمريره للتشغيل ، بدلاً من تشغيل الصفيف الذي تم تمريره مباشرة ؛
var temp_array = new array () ؛
لـ (VAR INDEX in ARR) {
temp_array.push (arr [index]) ؛
}
// يتم حفظ العناصر العددية المستخرجة في هذه الصفيف
var return_array = new array () ؛
لـ (var i = 0 ؛ i <num ؛ i ++) {
// القاضي إذا كانت الصفيف تحتوي على عناصر يمكن استردادها ، في حالة عبور الحدود المشتركة
if (temp_array.length> 0) {
// إنشاء فهرس عشوائي في الصفيف
var arrindex = math.floor (math.random ()*temp_array.length) ؛
// انسخ قيمة عنصر الصفيف المقابل لهذا الفهرس العشوائي
return_array [i] = temp_array [arrindex] ؛
// ثم حذف عنصر الصفيف في هذا الفهرس ، وفي هذا الوقت يصبح Temp_array صفيفًا جديدًا
temp_array.splice (arrindex ، 1) ؛
} آخر {
// بعد إخراج عناصر البيانات الموجودة في الصفيف من الحلقة. على سبيل المثال ، كان لدى المصفوفة في الأصل 10 عناصر فقط ، ولكن هناك حاجة لإخراج 20 عنصرًا.
استراحة؛
}
}
إرجاع return_array ؛
}
//امتحان
VAR ARRLIST = [1،2،3،4،5،6،7،8،11،11،12،13،14،15،16،17،18،19،20،21،22،23،24،25،26،27،28،29،30،31،32،33] ؛
ALERT (getArrayItems (ARRLIST ، 6)) ؛
</script>