Bei der Arbeit stoße ich häufig auf einige Vorgänge im Zusammenhang mit Arrays
1. Wählen Sie zufällig x eindeutige Datenstücke aus den Daten aus (PS: S.each unten ist die KISSY.each-Methode, Sie können sie in eine for-Schleife ändern)
Kopieren Sie den Codecode wie folgt:
/*
Wählen Sie zufällig x eindeutige Daten aus dem Array arr aus
*/
Funktion myRand(arr,num){
var newArr = [];
rand(num); //Zufälliges x
Funktion rand(k){
if(k==0){
zurückkehren;
}
var index = Math.floor(Math.random() * arr.length);
var flag = true;
S.each(newArr,function(v){
if(v == arr[index]){
Flag = false;
}
});
if(flag){
newArr.push(arr[index]);
k--;
}
rand(k);
}
return newArr;
}
2. Wählen Sie zufällig x eindeutige Daten aus dem Objekt aus
Kopieren Sie den Codecode wie folgt:
/*
Wählen Sie zufällig x Elemente aus dem Objekt obj aus
*/
Funktion myRand(){
var S = KISSY;
var obj={
'01':{name:'a'},
'02':{name:'b'},
'03':{name:'c'},
'04':{name:'d'},
'05':{name:'e'},
'06':{name:'f'},
'07':{name:'g'},
'08':{name:'h'},
'09':{name:'i'},
'10':{name:'g'}
};
var arr = [];
S.each(obj,function(v,k){
arr.push(k);
});
//Wähle zufällig 3 aus
var newArr = myRand(arr,3);
S.each(newArr,function(b){
console.log(obj[b]);
})
};
3. Entfernen Sie Duplikate aus einem Array
Kopieren Sie den Codecode wie folgt:
/*
Duplikate aus dem Array entfernen
*/
Funktion uniqArr(arr){
Funktion toObject(a) {
var o = {};
for (var i=0, j=a.length; i<j; i=i+1) {
o[a[i]] = wahr;
}
Rückkehr o;
};
Funktionstasten(o) {
var a=[], i;
für (i in o) {
if (o.hasOwnProperty(i)) { // Hier im YUI-Quellcode ist es lang.hasOwnProperty(o, i)
a.push(i);
}
}
gib a zurück;
};
Return-Tasten (toObject (arr));
}