Muitas vezes encontro algumas operações relacionadas a arrays no trabalho
1. Selecione aleatoriamente x partes de dados exclusivos dos dados (PS: S.each abaixo é o método KISSY.each, você pode alterá-lo para um loop for)
Copie o código do código da seguinte forma:
/*
Selecione aleatoriamente x partes de dados exclusivos do array arr
*/
function meuRand(arr,num){
var novoArr = [];
aleatório(num); //X aleatório
função rand(k){
se(k==0){
retornar;
}
var índice = Math.floor(Math.random() * arr.length);
var sinalizador = verdadeiro;
S.each(newArr,função(v){
if(v == arr[índice]){
bandeira = falso;
}
});
se(sinalizador){
newArr.push(arr[índice]);
k--;
}
Rand(k);
}
retornar novoArr;
}
2. Selecione aleatoriamente x dados exclusivos do objeto
Copie o código do código da seguinte forma:
/*
Escolha aleatoriamente x itens do objeto obj
*/
função meuRand(){
var S = BEIJINHO;
varobj={
'01':{nome:'a'},
'02':{nome:'b'},
'03':{nome:'c'},
'04':{nome:'d'},
'05':{nome:'e'},
'06':{nome:'f'},
'07':{nome:'g'},
'08':{nome:'h'},
'09':{nome:'i'},
'10':{nome:'g'}
};
var arr = [];
S.each(obj,função(v,k){
arr.push(k);
});
//Escolha 3 aleatoriamente
var novoArr = meuRand(arr,3);
S.each(newArr,função(b){
console.log(obj[b]);
})
};
3. Remova duplicatas de um array
Copie o código do código da seguinte forma:
/*
Remover duplicatas do array
*/
função uniqArr(arr){
função paraObjeto(a) {
var o = {};
for (var i=0, j=a.length; i<j; i=i+1) {
o[a[i]] = verdadeiro;
}
retornar o;
};
teclas de função(o) {
var a=[], eu;
para (eu em o) {
if (o.hasOwnProperty(i)) { // Aqui, no código fonte YUI é lang.hasOwnProperty(o, i)
a.push(i);
}
}
retornar um;
};
chaves de retorno (toObject (arr));
}