A menudo encuentro algunas operaciones relacionadas con matrices en el trabajo.
1. Seleccione aleatoriamente x piezas de datos únicos de los datos (PD: S.each a continuación es el método KISSY.each, puede cambiarlo a un bucle for)
Copie el código de código de la siguiente manera:
/*
Seleccione aleatoriamente x piezas de datos únicos de la matriz arr
*/
función miRand(arr,num){
var nuevaArr = [];
rand(núm); //Aleatorio x
función rand(k){
si(k==0){
devolver;
}
var índice = Math.floor(Math.random() * arr.length);
var bandera = verdadero;
S.cada uno(newArr,function(v){
si(v == arreglo[índice]){
bandera = falso;
}
});
si(bandera){
newArr.push(arr[índice]);
k--;
}
rand(k);
}
devolver nuevaArr;
}
2. Seleccione aleatoriamente x piezas de datos únicos del objeto
Copie el código de código de la siguiente manera:
/*
Elija aleatoriamente x elementos del objeto obj
*/
función miRand(){
var S = BESO;
varobj={
'01':{nombre:'a'},
'02':{nombre:'b'},
'03':{nombre:'c'},
'04':{nombre:'d'},
'05':{nombre:'e'},
'06':{nombre:'f'},
'07':{nombre:'g'},
'08':{nombre:'h'},
'09':{nombre:'i'},
'10':{nombre:'g'}
};
vararr = [];
S.cada uno(obj,función(v,k){
arr.push(k);
});
//Elige aleatoriamente 3
var newArr = myRand(arr,3);
S.cada uno(newArr,function(b){
console.log(obj[b]);
})
};
3. Eliminar duplicados de una matriz
Copie el código de código de la siguiente manera:
/*
Eliminar duplicados de la matriz
*/
función uniqArr(arr){
función aObjeto(a) {
var o = {};
for (var i=0, j=a.length; i<j; i=i+1) {
o[a[i]] = verdadero;
}
volver o;
};
teclas de función (o) {
var a=[], i;
para (yo en o) {
if (o.hasOwnProperty(i)) { // Aquí, en el código fuente de YUI es lang.hasOwnProperty(o, i)
a.push(i);
}
}
devolver un;
};
claves de retorno (toObject (arr));
}