Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Utilizar some() ou indexOf()?

No código o instrutor utilizou a função some para verificar se havia valor em branco (nulo ou vazio).

var ganhou = function () {

        return lacunas.length 
            ? !lacunas.some(function(lacuna) {
                return lacuna == '';
            })
            : false;
    };

Eu resolvi o problema utilizando a função indexOf(), conforme abaixo:

var ganhou = function() {
        if (lacunas.indexOf("")>-1||lacunas.indexOf(null)>-1){
            return false;
        }
        else{
            return true;
        }
      };

A minha dúvida é: Utilizar o indexOf() resulta o mesmo efeito do some() ou são funções distintas?

3 respostas
solução!

Oi Gustavo tudo bem?

São funções distintas mas sua lógica ficou equivalente. indexOf é para buscar uma string dentro de uma string. Já o o some é um método mais avançado que permite testar um array de acordo com uma expressão lógica.

Dá uma olhadinha em outro exemplo do some https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_some

Espero ter ajudado!!!

André. Muito interessante o código que você passou. Eu não conhecia essa função e até salvei seu código em meus documentos para futuras consultas. Muito legal mesmo!

Disponha e bons estudos!!!