Explicação de Finalizar compra
Objetivo deste desafio: Complete as funções da seta para obter a array prices
e o valor total
.
Passo a passo da solução: Quando você executa o código inicial, acontecem algumas coisas estranhas; há undefined
e NaN
sendo produzidos. Podemos ver que as funções da seta em .map()
e .reduce()
estão as duas vazias, portanto sabemos que elas não estão retornando nada que seja um problema.
A variável prices
deve ser uma array de apenas o valor .price
de cada item no cart
. A função de seta deve ter um parâmetro de entrada chamado item
e deve return
o item.price
. Entre as chaves {}
da função de seta, adicione return item.price
. Agora, a array prices
pode ser criada corretamente.
Em seguida, o total
pode ser calculado usando .reduce()
. O método .reduce()
também usa uma função retorno de chamada. Essa função deve conter 2 argumentos: um acumulador e o item atual. Neste desafio, eles são chamados sum
e price
, uma vez que passa por cada item em prices
e os adicione à sum
. A função de seta deve atualizar sum
usando o valor price
e depois return
(retornar) esse valor. Como o total
deve armazenar todos os preços somados, a função de seta deve return sum + price
.
Solução do código de exemplo:
(Toque abaixo para revelar)
Como isso é parte do tópico final do curso de Arrays e está testando seu conhecimento, não existe uma solução do código de exemplo.
Conceitos de JavaScript: Operadores Aritméticos (+), Expressão Binária (+ concatenação), Bloco de Código (função de seta), Condicionais (comando ternário), console.log
, import
, .map()
, .reduce()
Código Adicional (código oculto executado antes do código do desafio):
let cart = [
{name: 'towel', price: 15},
{name: 'soap', price: 6},
{name: 'comb', price: 4},
{name: 'sponge', price: 2}
];