Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

VM701:26 Uncaught TypeError: Cannot read property '0' of undefined

Olá, estou tentando testar quais possibilidades de vitória (vetorB) em um dado tabuleiro de jogo da velha (vetorA) serão verdadeiras ou inverdadeiras, porém, ao executar, o seguinte erro é exibido pelo console do navegador.

Uncaught TypeError: Cannot read property '0' of undefined at verificaVitoria (:26:24) at :18:28

Pesquisei bastante, mas não consegui solucionar o problema. Poderia me ajudar?

//EXEMPLO DE TABULEIRO
let vetorA = ["X","O","O",
              "X","O","X",
              "X","O",""];

//POSSIBILIDADES DE VITORIAS
let vetorB = [
            [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 combinacoesDeVitoria = verificaVitoria(vetorA, vetorB);

console.log(combinacoesDeVitoria);

function verificaVitoria(vetorA, vetorB) {
  let controle = false;
  let combinacoes = []; //Vetor que guarda em quais possibilidades o jogador venceria.
  for (let j = 0; j < 9; j++) {
    if(vetorA[vetorB[j][0]] == "X" && vetorA[vetorB[j][1]] == "X" && vetorA[vetorB[j][2]] == "X") {
      controle = true;
    } 
    if (controle == true) {
        combinacoes.push("Verdadeira");
        controle = false;
    } else {
        combinacoes.push("Inverdadeira");
    }
  }
    return combinacoes;
}
1 resposta
solução!

O for vai ate 8 e no vetor B, não existe esse proximo array. Lembrando que começa no