Lo esencial:
Copie la matriz:
(1) Copia transversal de bucle (no recomendado)
La copia del código es la siguiente:
var arr = [1,5,9,7],
new_arry = [],
n = 0,
len = arr.length;
para (; n <len; n ++) {
new_arry.push (arry [n]);
}
(2) El método concat () se utiliza para concatenar dos o más matrices. Este método no cambiará la matriz existente, pero solo devolverá una copia de la matriz conectada.
La copia del código es la siguiente:
var arr = [1,5,9,7],
new_arry = arry.concat ();
console.log (new_arry);
(3) El método SLICE () puede devolver el elemento seleccionado de la matriz existente
La copia del código es la siguiente:
var arr = [1,5,9,7],
new_arry = arry.slice (0);
console.log (new_arry);
Número aleatorio:
Math.Random ()
Math.random (), devuelve un número aleatorio de 0 a 1, como: 0.4261967441998422
Función de encapsulación personal:
La copia del código es la siguiente:
función getRandom (opt) {
var Old_arry = Opt.Arry,
rango = opt.range;
// evitar que la longitud de la matriz
range = range> old_arry.length? Old_arry.length: range;
var newArray = [] .concat (Old_arry), // Copiar la matriz original y operar no destruirá la matriz original
valarray = [];
para (var n = 0; n <range; n ++) {
var r = Math.floor (Math.random () * (newArray.length));
valArray.push (newArray [r]);
// elimina la matriz original y luego evite la adquisición repetida en el siguiente bucle
newArray.splice (r, 1);
}
devolver Valarray;
}
var new_val = getRandom ({'arry': [1,6,8,0,3], 'rango': 3});
console.log (new_val);
¿Es muy útil? Código muy práctico. Aquí hay un proyecto separado de mi propio proyecto y espero que sea útil para usted.