JSFiddle - React, Tailwind, and code Playground
by Luiz Silva
JavaScript
//exemplo imperativo
function selecionarTudoAbaixoDeTresReaisImperativo(produtos) {
var produtosSelecionados = [];
for (var i = 0; i < produtos.length; i++) {
if (produtos[i].preco < 3.00) {
produtosSelecionados.push(produtos[i].nome);
}
}
return produtosSelecionados;
}
//exemplo funcional
function selecionarTudoAbaixoDeTresReaisFuncional(produtos) {
var itemMenorQueTres = function(item) { return item.preco < 3.00; };
var pegarSomenteNome = function(item) { return item.nome };
return produtos.filter(itemMenorQueTres).map(pegarSomenteNome);
}
//executando os exemplos
var frutas = [
{ nome: "Laranja", preco: 3.99 },
{ nome: "Melancia", preco: 2.99 },
{ nome: "Banana", preco: 1.99 }
];
// saída esperada: ["Melancia", "Banana"]
console.log(selecionarTudoAbaixoDeTresReaisImperativo(frutas));
console.log(selecionarTudoAbaixoDeTresReaisFuncional(frutas));