Bom dia. Pessoal uma duvida, no método reduce o segundo parâmetro passado ele é como se fosse um this.?
Bom dia. Pessoal uma duvida, no método reduce o segundo parâmetro passado ele é como se fosse um this.?
Olá Felix, tudo bem ?
Não entendi direito o que você quis dizer com: "como se fosse um this", na verdade o segundo parâmetro do reduce vai ser o valor inicial do nosso acumulador:
array.reduce( (acumulador, elementoAtual) => {
    return ....
}, valorInicial);Nesse código a variável valorInicial será atribuída ao acumulador ao iniciar a função para que seja possível realizar as operações com cada elemento do array
Abraços e Bons Estudos!
Boa noite
model.negociacoes.reduce((total, n) => total + n.volume,0.0)  Essa função veio do curso JS avançado I O parâmetro que eu quero passar é uma propriedade do meu objeto chamada "volume", pra isso eu uso uma variável "n", este n seria como um "this.volume"?
Estou postando pois não entendi, porque não passar 'this.volume' se é justamente esse parâmetro que quero passar para minha função e fazer a soma delas.
Opa Felix, agora ficou mais fácil :)
Na verdade esse segundo parâmetro não é do reduce e sim da função de callback, mas vou explicar:
Quando fazemos model.negociacoes.reduce estamos pegando o array de negociações, então vamos supor que ele está dessa maneira:
_negociacoes = [ negociacao1, negociacao2, negociacao3, negociacao4, negociacao5];
E estamos passando a função que será executado em cada elemento, em nosso caso essa função é (total, n) => total + n.volume
Isso quer dizer que o n irá começar como o negociacao1 (primeiro elemento do array) e iremos somar o valor do negociacao1.volume, depois n será o negociacao2 e dessa forma iremos passar por todas negociações e somando seu volume
Agora em relação a sua dúvida:
Estou postando pois não entendi, porque não passar 'this.volume' se é justamente esse parâmetro que quero passar para minha função e fazer a soma delas.
Na verdade não temos como acessar o this.volume pois o que temos é apenas um array de negociação, então o this só iria referenciar o próprio array que não tem essa propriedade, no caso o n irá referenciar cada negociação, e dessa forma temos acesso ao volume :)
Conseguiu compreender? Abraços e Bons Estudos!