Dasar -dasar:
Salin array:
(1) Looping Traversal Copy (tidak disarankan)
Salinan kode adalah sebagai berikut:
var arr = [1,5,9,7],
new_arry = [],
n = 0,
len = arr.length;
untuk (; n <len; n ++) {
new_arry.push (arry [n]);
}
(2) Metode Concat () digunakan untuk menggabungkan dua atau lebih array. Metode ini tidak akan mengubah array yang ada, tetapi hanya akan mengembalikan salinan array yang terhubung.
Salinan kode adalah sebagai berikut:
var arr = [1,5,9,7],
new_arry = arry.concat ();
console.log (new_arry);
(3) Metode SLICE () dapat mengembalikan elemen yang dipilih dari array yang ada
Salinan kode adalah sebagai berikut:
var arr = [1,5,9,7],
new_arry = arry.slice (0);
console.log (new_arry);
Nomor acak:
Math.random ()
Math.random (), mengembalikan angka acak dari 0 ke 1, seperti: 0.4261967441998422
Fungsi enkapsulasi pribadi:
Salinan kode adalah sebagai berikut:
fungsi getRandom (opt) {
var old_arry = opt.arry,
range = opt.range;
// mencegah panjang array
range = range> old_arry.length? old_arry.length: range;
var newarray = [] .concat (old_arry), // salin array asli dan beroperasi tidak akan menghancurkan array asli
valarray = [];
untuk (var n = 0; n <range; n ++) {
var r = math.floor (math.random () * (newarray.length));
valarray.push (newarray [r]);
// Hapus array asli, dan kemudian hindari akuisisi berulang di loop berikutnya
newarray.splice (r, 1);
}
mengembalikan Valarray;
}
var new_val = getRandom ({'arry': [1,6,8,0,3], 'range': 3});
console.log (new_val);
Apakah ini sangat berguna? Kode yang sangat praktis. Berikut adalah proyek terpisah dari proyek saya sendiri dan saya harap ini akan membantu Anda.