Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reduzco, reuso y reciclo
Search
Lupo Montero
February 21, 2019
Programming
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Reduzco, reuso y reciclo
LimaJS - 21/02/2019
Lupo Montero
February 21, 2019
More Decks by Lupo Montero
See All by Lupo Montero
Trigonometría Bella
lupomontero
0
45
Analizadores sintácticos funcionales en JavaScript
lupomontero
0
100
Manejo de memoria en Rust: Ownership
lupomontero
0
48
Hola Rust! Aprendiendo con rustlings
lupomontero
1
330
WebThing: construyamos una lámpara 💡
lupomontero
1
93
Combinando y grabando ⏺ video 🎥 y audio 🎙 en el navegador
lupomontero
0
34
Web Assembly, Rust y el futuro de JavaScript
lupomontero
0
59
Primeros pasos con Rust y WebAssembly
lupomontero
0
550
Paralelizando promesas
lupomontero
0
360
Other Decks in Programming
See All in Programming
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
OSもどきOS
arkw
0
590
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
0
120
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
950
Inside Stream API
skrb
1
780
act1-costs.pdf
sumedhbala
0
120
JavaDoc 再入門
nagise
1
420
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.8k
The NotImplementedError Problem in Ruby
koic
1
950
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
240
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
New Earth Scene 8
popppiees
3
2.4k
My Coaching Mixtape
mlcsv
0
150
Deep Space Network (abreviated)
tonyrice
0
210
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
The Pragmatic Product Professional
lauravandoore
37
7.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
@lupomontero LimaJS - 21/02/2019
@Laboratoriala @LimaJSorg @NodeSchool @lupomontero @mozillaperu
Qué es reduce? Blah blah blah… • Transformar un arreglo
en un “valor” • Transformar un arreglo en otro “tipo” • Responder preguntas sobre la colección (por ejemplo estadísticas) • Resumir una colección • ...
[any] Array.prototype.reduce(fn, initialValue) The reduce() method executes a reducer function
(that you provide) on each member of the array resulting in a single output value. Fuente: MDN
.reduce .filter .map .forEach
None
[1,2,3,4,5].reduce((prev, item) => prev + item, 0)
Un ejemplo de reduce
Implementación imperativa • Bucle / iteración • Mutación / reasignación
Reglas del juego... • No sentencias / sólo expresiones •
No mutación / no re-asignación • ...
… antes de empezar con la implementación ... • Operador
ternario • Operador de propagación (spread operator) • !! (bang bang! doble negación)
Implementación declarativa • Recursión • Inmutabilidad • Expresiones
Ejemplos de aplicaciones de reduce • map • filter •
join • forEach • ...
map
filter
join
forEach
includes
indexOf
lastIndexOf
reverse
reduceRight
Fin (Gracias!)