Skip to content

Instantly share code, notes, and snippets.

@helton
Last active August 2, 2017 19:16
Show Gist options
  • Save helton/f1b679614bad4bd2c3f7826ef2c097bc to your computer and use it in GitHub Desktop.
Save helton/f1b679614bad4bd2c3f7826ef2c097bc to your computer and use it in GitHub Desktop.
Full Stack Academy - Aula 01 - Exercicio 02
/*
* [Exercício 2]
*
* Dado o seguinte vetor e utilizando somente map, reduce e filter.
*
* 2a) Gere um novo vetor com a lista de produtos cuja a quantidade seja maior que 0
*/
const produtos = [
{
id: 1,
preco: 10.0,
qtd: 2
},
{
id: 2,
preco: 10.0,
qtd: 2
},
{
id: 3,
preco: 10.0,
qtd: 2
},
{
id: 4,
preco: 10.0,
qtd: 0
}
]
// 2a) Gere um novo vetor com a lista de produtos cuja a quantidade seja maior que 0
const maiorQueZero = produtos.filter(produto => produto.qtd > 0)
console.log(maiorQueZero);
/*
* [Exercício 2]
*
* Dado o seguinte vetor e utilizando somente map, reduce e filter.
*
* 2b) Gere um novo vetor somente com o id do produto e o sub-total (preco x qtd)
*/
const produtos = [
{
id: 1,
preco: 10.0,
qtd: 2
},
{
id: 2,
preco: 10.0,
qtd: 2
},
{
id: 3,
preco: 10.0,
qtd: 2
},
{
id: 4,
preco: 10.0,
qtd: 0
}
]
// 2b) Gere um novo vetor somente com o id do produto e o sub-total (preco x qtd)
const idComSubtotal = produtos.map(produto => ({
id: produto.id,
subTotal: produto.preco * produto.qtd
}))
console.log(idComSubtotal);
/*
* [Exercício 2]
*
* Dado o seguinte vetor e utilizando somente map, reduce e filter.
*
* 2c) Gere o somatório dos sub-totais
*/
const produtos = [
{
id: 1,
preco: 10.0,
qtd: 2
},
{
id: 2,
preco: 10.0,
qtd: 2
},
{
id: 3,
preco: 10.0,
qtd: 2
},
{
id: 4,
preco: 10.0,
qtd: 0
}
]
// 2c) Gere o somatório dos sub-totais
const soma =
produtos.map(produto => ({
id: produto.id,
subTotal: produto.preco * produto.qtd
}))
.map(produto => produto.subTotal)
.reduce((acumulado, valor) => acumulado + valor, 0)
console.log(soma);
@tuliofaria
Copy link

Certinho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment