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

Como passar um vetor como parâmetro de uma função?

Olá, estou tentando passar um vetor para uma função cujo papel é somar os valores contidos nesse vetor e retornar o resultado. Pensei em como fazer e escrevi o código, porém o valor devolvido pela função somaNumeros() não corresponde ao esperado. O que estou errando?


let max = 6;
let min = 1;    
let numerosSorteados = [];
let totalSoma = somaNumeros(numerosSorteados);

jogaDados();

function jogaDados() {
    let numero = 0;

    for (i = 0; i < 10; i++) {
        numero = Math.floor(Math.random() * max + min);
        numerosSorteados.push(numero);
    }
}

function somaNumeros(param) {
    let total = 0;
    for (i = 0; i < param.length; i++) {
        total += param[i];
    }
    return total;
}

console.log(totalSoma);
2 respostas

Opa Leonardo, tudo certo?

O resultado esperado seria esse?

    <script>

        var max = 6;
        var numerosSorteados = [];

        jogaDados();

        function jogaDados() {
            var numero;

            for (i = 0; i < 10; i++) {
                numero = Math.ceil(Math.random() * max);
                numerosSorteados.push(numero);
            }
        }

        console.log(numerosSorteados);

        function somaNumeros(param) {
            var total = 0;
            for (i = 0; i < param.length; i++) {
                total += param[i];
            }
            return total;
        }

        function totalSoma (numerosSorteados) {
            return somaNumeros(numerosSorteados);

        } 

        console.log(totalSoma(numerosSorteados));

    </script>
solução!

Mas para o seu código original funcionar bastava mover esta linha de código

let totalSoma = somaNumeros(numerosSorteados);

para a penúltima linha:

let max = 6;
let min = 1;    
let numerosSorteados = [];


jogaDados();

function jogaDados() {
    let numero = 0;

    for (i = 0; i < 10; i++) {
        numero = Math.floor(Math.random() * max + min);
        numerosSorteados.push(numero);
    }
}

function somaNumeros(param) {
    let total = 0;
    for (i = 0; i < param.length; i++) {
        total += param[i];
    }
    return total;
}
let totalSoma = somaNumeros(numerosSorteados);
console.log(totalSoma);