Je rencontre souvent certaines opérations liées aux tableaux au travail
1. Sélectionnez au hasard x éléments de données uniques à partir des données (PS : S.each ci-dessous est la méthode KISSY.each, vous pouvez la changer en boucle for)
Copiez le code comme suit :
/*
Sélectionnez au hasard x éléments de données uniques dans le tableau arr
*/
fonction monRand(arr,num){
var newArr = [];
rand(num); //Aléatoire x
fonction rand(k){
si(k==0){
retour;
}
var index = Math.floor(Math.random() * arr.length);
var indicateur = vrai ;
S.each(newArr,function(v){
si(v == arr[index]){
drapeau = faux ;
}
});
si(drapeau){
newArr.push(arr[index]);
k--;
}
rand(k);
}
retourner newArr ;
}
2. Sélectionnez au hasard x éléments de données uniques de l'objet
Copiez le code comme suit :
/*
Choisissez au hasard x éléments de l'objet obj
*/
fonction monRand(){
var S = KISSY;
var obj={
'01' :{nom :'a'},
'02' :{nom : 'b'},
'03' :{nom : 'c'},
'04' :{nom :'d'},
'05' :{nom : 'e'},
'06' :{nom : 'f'},
'07' :{nom : 'g'},
'08' :{nom : 'h'},
'09' :{nom :'i'},
'10' :{nom : 'g'}
} ;
vararr = [];
S.each(obj,fonction(v,k){
arr.push(k);
});
// Choisissez-en 3 au hasard
var newArr = monRand(arr,3);
S.each(newArr,function(b){
console.log(obj[b]);
})
} ;
3. Supprimer les doublons d'un tableau
Copiez le code comme suit :
/*
Supprimer les doublons du tableau
*/
fonction uniqArr(arr){
fonction versObjet(a) {
var o = {};
pour (var i=0, j=a.length; i<j; i=i+1) {
o[a[i]] = vrai ;
}
retourner o;
} ;
touches de fonction (o) {
var a=[], je;
pour (je dans o) {
if (o.hasOwnProperty(i)) { // Ici, dans le code source de YUI, c'est lang.hasOwnProperty(o, i)
a.push(i);
}
}
renvoyer un ;
} ;
clés de retour (toObject (arr));
}