Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

269
Vistas
Quiero un bucle en el que cada vez que una función lo llame, el valor I permanezca igual

Estoy intentando escribir una función de crupier para un juego de cartas, quiero que la función mantenga su valor i cada vez que se llama, de modo que la pila de cartas ( player1Deck y player2Deck ) se haga cada vez más pequeña hasta quedar vacía. Actualmente, parece que el valor i se restablecerá cada vez que se llame a la función. ¿Cómo puedo detener esto? Soy muy nuevo en todo esto.

 function dealOut(){ for (let i = 0; i < player1DeckHandcells.length; i++) { const cell = player1DeckHandcells[i]; cell.appendChild(player1Deck.cards[i].getHTML) } for (let i = 0; i < player2DeckHandcells.length; i++) { const cell = player2DeckHandcells[i]; cell.appendChild(player2Deck.cards[i].getHTML) } }

Más información

Cada llamada dealout debe hacer i aumente en 7. Esto significa que estamos en la octava "carta" ( player1Deck.cards[i].getHTML y player2Deck.cards[i].getHTML ) en la "baraja"(baraja jugador1 y player2Deck player1Deck y debe haber un total de 28 cartas con 21 restantes para ir. Quiero que el valor i cuente a través de estas "cartas", por lo que no solo repite los primeros 7 cada vez dealout .

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar un cierre (una función que guarda una copia de las variables externas). Podemos usar esa función para dealOut . Nota: las matrices tienen un índice cero, por lo i empiezo en 0 , no en 1 .

 function loop() { // Maintain a count let count = 0; // Return a function that we actually use // when we call dealOut. This carries a copy // of count with it when it's returned that we // can update return function () { const arr = []; // Set i to count, and increase until // i ia count + 7 for (let i = count; i < count + 7; i++) { arr.push(i); } console.log(arr.join(' ')); // Finally increase count by 7 count += 7; } } const dealOut = loop(); dealOut(); dealOut(); dealOut(); dealOut();

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda