الأساسيات:
انسخ المصفوفة:
(1) نسخة اجتياز الحلقات (غير موصى بها)
نسخة الكود كما يلي:
var arr = [1،5،9،7] ،
new_arry = [] ،
ن = 0 ،
len = arr.length ؛
لـ (؛ n <len ؛ n ++) {
new_arry.push (arry [n]) ؛
}
(2) يتم استخدام طريقة Concat () لتسلسل صفيفتين أو أكثر. لن تغير هذه الطريقة الصفيف الموجود ، ولكن لن تُرجع نسخة من الصفيف المتصل فقط.
نسخة الكود كما يلي:
var arr = [1،5،9،7] ،
new_arry = arry.concat () ؛
console.log (new_arry) ؛
(3) يمكن أن تُرجع طريقة الشريحة () العنصر المحدد من الصفيف الموجود
نسخة الكود كما يلي:
var arr = [1،5،9،7] ،
new_arry = arry.slice (0) ؛
console.log (new_arry) ؛
رقم عشوائي:
Math.Random ()
Math.Random () ، إرجاع رقم عشوائي من 0 إلى 1 ، مثل: 0.426196741998422
وظيفة التغليف الشخصي:
نسخة الكود كما يلي:
وظيفة getRandom (OPT) {
var old_arry = opt.arry ،
المدى = opt.range ؛
// منع طول الصفيف من
Range = Range> old_arry.length؟ old_arry.length: Range ؛
var newarray = [] .concat (old_arry) ، // انسخ الصفيف الأصلي وتشغيله لن يدمر الصفيف الأصلي
valarray = [] ؛
لـ (var n = 0 ؛ n <range ؛ n ++) {
var r = math.floor (math.random () * (newarray.length)) ؛
valarray.push (Newarray [r]) ؛
// حذف الصفيف الأصلي ، ثم تجنب الاستحواذ المتكرر في الحلقة التالية
newarray.splice (r ، 1) ؛
}
إرجاع Valarray
}
var new_val = getRandom ({'arry': [1،6،8،0،3] ، 'range': 3}) ؛
console.log (new_val) ؛
هل هو مفيد جدا؟ رمز عملي جدا. إليك مشروع منفصل عن مشروعي الخاص وآمل أن يكون مفيدًا لك.