Last active
October 19, 2017 01:21
-
-
Save FerreiraRaphael/541090faceef655e9d949f5ce926f855 to your computer and use it in GitHub Desktop.
Exemplos Seminário TACS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Baixe este arquivo em https://gist.github.com/FerreiraRaphael/541090faceef655e9d949f5ce926f855 | |
//Execute: | |
//node <nome-do-arquivo>.js | |
let resultadoEsperado, resultado; | |
//Composição funcional | |
const usuarios = [ | |
{ | |
id: 1, | |
nome: "Raphael" | |
}, | |
{ | |
id: 2, | |
nome: "Rony" | |
}, | |
{ | |
id: 1, | |
nome: "Gabriel" | |
}, | |
]; | |
//Exemplo Map | |
//Resultado esperado é só nomes dos Usuários | |
function retornarSoNomes(usuario) { | |
return usuario.nome; | |
} | |
resultadoEsperado = ["Raphael", "Rony", "Gabriel"]; | |
resultado = usuarios.map(retornarSoNomes); | |
console.log(`Resultado Map: ${resultado}`); | |
console.log(`Resultado Map Esperado: ${resultadoEsperado}`); | |
//Exemplo Filter | |
//Resultado esperado é o id Usuário que tem nome Raphael | |
function retornarPeloNome(nome) { | |
return usuario => usuario.nome === nome; | |
} | |
resultadoEsperado = 1; | |
resultado = usuarios.filter(retornarPeloNome("Raphael"))[0].id; | |
console.log(`Resultado Filter: ${resultado === resultadoEsperado}`); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Baixe este arquivo em https://gist.github.com/FerreiraRaphael/541090faceef655e9d949f5ce926f855 | |
//Execute: | |
//node <nome-do-arquivo>.js | |
let resultadoEsperado, resultado; | |
//Função Pura | |
function somarArray(arrayDeNumeros) { | |
return arrayDeNumeros.reduce((resultado, proximo) => resultado + proximo, 0); | |
} | |
//Resultado esperado é 21 | |
resultadoEsperado = 21 | |
resultado = somarArray([1, 2, 3, 4, 5, 6]); | |
console.log(`Resultado Função Pura: ${resultadoEsperado === resultado}`); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Baixe este arquivo em https://gist.github.com/FerreiraRaphael/541090faceef655e9d949f5ce926f855 | |
//Execute: | |
//node <nome-do-arquivo>.js | |
let resultadoEsperado, resultado; | |
//Função Não Pura | |
//Fazer uma requisição https get na api publica newton | |
const https = require("https"); | |
function somarExpressao() { | |
const url = "https://newton.now.sh/simplify/2^2+2(2)"; | |
//O resultado esperado da expressão 2^2+2(2) é 8 | |
https.get(url, res => { | |
res.setEncoding("utf8"); | |
let body = ""; | |
res.on("data", data => { | |
body += data; | |
}); | |
res.on("end", () => { | |
body = JSON.parse(body); | |
resultado = Number(body.result); | |
console.log('Resultado da Api:'); | |
Object.keys(body).forEach((r) => console.log(`\t${r}: ${body[r]}`)); | |
console.log(`Resultado Função Não Pura: ${8 === resultado}`); | |
}); | |
}).on('error', (e) => { | |
console.error(`Resultado Função Não Pura Error: ${e}`); | |
}); | |
} | |
somarExpressao(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment