Arranjo //Repositório JavaScript
Descrição
Arranjo matemático com repetição em elementos de um array.
Criado: 2005.08.08 - Modificado 2005.11.29
Criado: 2005.08.08 - Modificado 2005.11.29
Código (Download)
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/array/arrange [rev. #1]
arrange = function(v, n, m){
for(var j, k, i = -1, l = v.length, q = Math.pow(l, n), r = new Array(q), c = (new Array(n + 1)).join(0).split(""); ++i < q;)
for(r[i] = new Array(j = n), k = 1; j--; r[i][j] = m ? c[j] : v[c[j]], k && (++c[j] != l && --k, c[j] %= l));
return r;
};
Exemplo (Exemplo)
<script type="text/javascript">
//<![CDATA[
var a = ["A", "B", "C"], q = 3, j = arrange(a, q);
document.write(
"<h2>", a.join(" - "), " : ", q, " = ", j.length, "</h2>",
j.join("<br />")
);
//]]>
</script>
Ajuda
- arrange(vetor: Array, n: Integer, [usarIndice: Boolean = false]): Array
-
Efetua o arranjo matemático (com repetição), ou seja, agrupamentos formados com n elementos (n < tamanho da array), de forma que os elementos sejam distintos entre sí pela ordem ou pela espécie. No arranjo com repetição podem aparecer elementos repetidos no mesmo grupo.
A função retorna um array bidimensional, onde linha = arranjo e coluna = elemento.
- vetor
- vetor que será arranjado
- n
- quantidade de elementos em cada agrupamento
- usarIndice
- define o tipo de retorno da função, se true, retorna apenas um "mapa" contendo os índices do parâmetro vetor, se false, usa os valores do parâmetro vetor
Ranque (Votos: 63)
1.79