Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

234
Views
Para obtener una condición de verdad (matriz) de una matriz anidada, por ahora la función devuelve el valor booleano verdadero

La función checkWin devuelve verdadero cuando una matriz que son números de índice tiene un símbolo especificado en los índices de otra matriz. ¿Cómo recuperar la "condición" (matriz) que resulta verdadera de la matriz winConditions anidada?

Los símbolos se rellenan con el detector de eventos de clic.

El resultado esperado debería ser, si .some(cond) se vuelve verdadero, entonces devuelve esa cond para, por ejemplo. si el símbolo "X" está presente en [0, 1, 2], devuelva esta matriz

 let testArray = Array(9).fill("") const winConditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6], ]; let xValue = "X"; let oValue = "O"; function checkWin(value, array) { return winConditions.some((cond) => cond.every((index) => array[index] == value)); } console.log(checkWin(xValue, testArray)); console.log(checkWin(oValue, testArray));
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar .find() en lugar de .some() , esto devolverá la primera matriz para la que la devolución de llamada .every() devuelve true . Puede usar esta matriz para determinar si hubo una victoria o no para un jugador en particular:

 const testArray = Array(9).fill(""); testArray[3] = testArray[4] = testArray[5] = "O"; // test winning position const winConditions = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6], ]; const xValue = "X"; const oValue = "O"; function getWinPos(value, array) { return winConditions.find((cond) => cond.every((index) => array[index] == value) ); } const xWinPos = getWinPos(xValue, testArray); const oWinPos = getWinPos(oValue, testArray); if(xWinPos) { // found a winning position row/col/diag for "X" console.log(xWinPos); } else if(oWinPos) { // found a winning row/col/diag for "O" console.log(oWinPos); }

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!