Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

107
Visualizações
Obtenga todas las combinaciones posibles de dos matrices

Imagina que tenemos dos matrices como las de abajo.

 let result = [] let array1 = ['2h', '3h', '4h', '5d', '8d'] let array2 = ['Kd', 'Ks']

Necesito tomar cada elemento de array2 y reemplazar cada elemento en el array uno por uno y almacenarlo en el resultado.

El resultado debería ser así

 result = ['Kd', '3h', '4h', '5d', '8d'] ['2h', 'Kd', '4h', '5d', '8d'] ['2h', '3h', 'Kd', '5d', '8d'] ..... ['Ks', '3h', '4h', '5d', '8d'] ['2h', 'Ks', '4h', '5d', '8d'] ['2h', '3h', 'Ks', '5d', '8d'] .....

Y también reemplace toda la matriz2 en matriz1

 result = ['Kd', 'Ks', '4h', '5d', '8d'] ['2h', 'Kd', 'Ks', '5d', '8d'] ..... ['Kd', 'Ks', '4h', '5d', '8d'] ['Kd', '3h', 'Ks', '5d', '8d'] ['Kd', '3h', '4h', 'Ks', '8d'] .....

Este es mi código actual, necesito analizar la mano de póquer para cada jugador y luego ordenar por fuerza

 let ranks = ['2','3','4','5','6','7','8','9','T','J','Q','K','A'] let suits = ['h','d','c','s'] let gameTypes = ['texas-holdem','omaha-holdem','five-card-draw'] //Lets learn poker rules // Card == table + player let royalFlush let straightFlush let fourKind let fullHouse let royal let straight let threeKind let twoPair let twoKind let highCard var combos = [] function variants(table, player) { let result = [] let tableArr = table.split(/(?=(?:..)*$)/) let playerArr = player.split(/(?=(?:..)*$)/) playerArr.forEach((item) => { for(let i = 0; i < tableArr.length; i++) { const tempArray = [...tableArr]; tempArray[i] = item; result.push(tempArray); } }); return result } function sortHand(input) { let handAnal = input.split(' ') handAnal.forEach((e, index) => { if(index == 0 || index == 1) { return } else { combos.push(variants(handAnal[1], handAnal[index])) } }) } //console.log(sortHand('texas-holdem 4cKs4h8s7s Ad4s Ac4d As9s KhKd 5d6d')) sortHand('texas-holdem 2h3h4h5d8d 9hJh') console.log(combos); //console.log(sortHand('omaha-holdem 3d3s4d6hJc Js2dKd8c KsAsTcTs Jh2h3c9c Qc8dAd6c 7dQsAc5d')) //console.log(sortHand('five-card-draw 7h4s4h8c9h Tc5h6dAc5c Kd9sAs3cQs Ah9d6s2cKh 4c8h2h6c9c'))
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Aquí está mi solución para ello.

 let result = []; let array1 = ["2h", "3h", "4h", "5d", "8d"]; let array2 = ["Kd", "Ks"]; array2.forEach((item) => { for(let i = 0; i < array1.length; i++) { const tempArray = [...array1]; tempArray[i] = item; result.push(tempArray); } }); console.log(result);

Aquí, estamos iterando sobre array2 y tomando cada elemento. Y para cada elemento de la matriz2 estamos iterando sobre la primera matriz y haciendo una copia de ella y almacenándola en tempArray. Después de eso, colocamos el elemento actual de la primera matriz y lo colocamos en tempArray en el índice i del ciclo for.

about 4 years ago · Juan Pablo Isaza Relatório

0

Ordenado manualmente, sin ninguna solución matemática o inteligente :(

 function variants(table, player) { let result = [] let tableArr = table.split(/(?=(?:..)*$)/) let playerArr = player.split(/(?=(?:..)*$)/) playerArr.forEach((item) => { for(let i = 0; i < tableArr.length; i++) { const tempArray = [...tableArr]; tempArray[i] = item; result.push(tempArray); } }); for(let i = 1; i <= 10; i++) { const tempArray = [...tableArr]; if(i<=4) { tempArray.splice(0, 1, playerArr[0]) tempArray.splice(0+i, 1, playerArr[1]) } else if(i<=7) { tempArray.splice(1, 1, playerArr[0]) tempArray.splice(-3+i, 1, playerArr[1]) } else if(i<=9) { tempArray.splice(2, 1, playerArr[0]) tempArray.splice(-5+i, 1, playerArr[1]) } else { tempArray.splice(3, 1, playerArr[0]) tempArray.splice(4, 1, playerArr[1]) } result.push(tempArray); } return result }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda