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
Trabalhando com Arrays e Objetos
Search
Nélio Frazão
April 24, 2020
Technology
0
26
Trabalhando com Arrays e Objetos
Nélio Frazão
April 24, 2020
Tweet
Share
More Decks by Nélio Frazão
See All by Nélio Frazão
Aula de introdução a JS
neliofrazao
0
38
Vamos Falar Sobre Micro Frontends
neliofrazao
0
160
Vamos falar sobre TDD
neliofrazao
0
19
Other Decks in Technology
See All in Technology
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
240
Create Ruby native extension gem with Go
sue445
0
130
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
LLMを搭載したプロダクトの品質保証の模索と学び
qa
1
1.1k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
110
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Producing Creativity
orderedlist
PRO
347
40k
Why Our Code Smells
bkeepers
PRO
339
57k
Balancing Empowerment & Direction
lara
3
620
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building an army of robots
kneath
306
46k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Designing Experiences People Love
moore
142
24k
How STYLIGHT went responsive
nonsquared
100
5.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
4 Signs Your Business is Dying
shpigford
184
22k
Transcript
TRABALHANDO COM ARRAYS E OBJETOS Professor: Nélio Frazão Email:
[email protected]
SOME const maiorQue10 = [ 12 , 5, 8, 1,
4].some(elem => elem > 10 ); console.log(maiorQue10)// true Parâmetro [12, 5, 8, 1, 4] Condição Se TRUE
SOME const maiorQue10 = [ 12 , 5, 8, 1,
15 ].some(elem => elem > 10 ); console.log(maiorQue10)// true Se TRUE TRUE
SOME const maiorQue10 = [ 9, 5, 8, 1, 4
].some(elem => elem > 10 ); console.log(maiorQue10)// false FALSE
EVERY const maiorQue10 = [11, 12, 13, 14, 9 ].every(elem
=> elem > 10 ); console.log(maiorQue10)// false Parâmetro [11, 12, 13, 14, 9] Condição FALSE
EVERY const maiorQue10 = [11, 12, 13, 14, 15 ].every(elem
=> elem > 10 ); console.log(maiorQue10)// true TRUE
INCLUDE const ComidasQueEuGosto = ['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita'] const
testaGosto = ComidasQueEuGosto.includes('Lasanha') const testaGostoFail = ComidasQueEuGosto.includes('Beterraba') console.log(testaGosto) //true console.log(testaGostoFail ) //false
INCLUDE(Cuidados) const ComidasQueEuGosto = ['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita'] const
testaGosto = ComidasQueEuGosto.includes('lasanha') console.log(testaGosto) //false
SPREAD OPERATOR const comidasQueEuAprendiAgostar = ['Arroz', 'Feijão']; const comidas =
['Macarrão', 'Lasanha', ...comidasQueEuAprendiAgostar, 'Almôndega', 'Batata Frita']; console.log(comidas); //['Macarrão', 'Lasanha', 'Arroz', 'Feijão', 'Almôndega', 'Batata Frita']
SPREAD OPERATOR(Copiando Arrays) ...Da maneira errada! const comidas = ['Macarrão',
'Lasanha', 'Almôndega', 'Batata Frita']; const novaComida = comidas; novaComida.push('Feijão'); console.log(comidas); //['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita', 'Feijão'] console.log(novaComida); //['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita', 'Feijão']
SPREAD OPERATOR(Copiando Arrays) ...Da maneira certa! const comidas = ['Macarrão',
'Lasanha', 'Almôndega', 'Batata Frita']; const novaComida = [...comidas]; novaComida.push('Feijão'); console.log(comidas); //['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita'] console.log(novaComida); //['Macarrão', 'Lasanha', 'Almôndega', 'Batata Frita', 'Feijão']
SPREAD OPERATOR(Concatenando Arrays) const comidas = ['Macarrão', 'Lasanha']; const novaComida
= ['Almôndega', 'Batata Frita']; const todasAsComidas = [...comidas, ...novaComida] console.log(todasAsComidas); //["Macarrão", "Lasanha", "Almôndega", "Batata Frita"]
TRABALHANDO COM OBJETOS const phoneBook = { nome: 'Nélio', phone:
'9999-8888' }; const keys = Object.keys(phoneBook) console.log(keys) //["nome", "phone"]
TRABALHANDO COM OBJETOS const phoneBook = { nome: 'Nélio', phone:
'9999-8888' }; const values = Object.values(phoneBook) console.log(values) //["Nélio", "9999-8888"]
TRABALHANDO COM OBJETOS const phoneBook = { nome: 'Nélio', phone:
'9999-8888' }; const entries = Object.entries(phoneBook) console.log(entries); // [["nome", "Nélio"], ["phone", "9999-8888"]]
TRABALHANDO COM OBJETOS const phoneBook = { nome: 'Nélio', phone:
'9999-8888' }; const entries = Object.entries(phoneBook) console.log(entries); // [["nome", "Nélio"], ["phone", "9999-8888"]] Key value
FOREACH const pessoas = ['João', 'Fernando', 'Marisa', 'Cláudia'] pessoas.forEach((pessoa, i)
=> { console.log(pessoa, i) //João 0 //Fernando 1 //Marisa 2 //Cláudia 3 });
FOREACH (Juntando forças) const phoneBook = { nome: 'Nélio', phone:
'9999-8888' }; const entries = Object.entries(phoneBook) entries.forEach(phoneItem => { console.log(phoneItem) //["nome", "Nélio"] //["phone", "9999-8888"] });
FOREACH (Juntando forças - Destructuring) const phoneBook = { nome:
'Nélio', phone: '9999-8888' }; const entries = Object.entries(phoneBook) entries.forEach(phoneItem => { const [key, value] = phoneItem console.log(`key:${key} value:${value}`) //[key:nome value:Nélio] //[key:phone value:9999-8888] }); entries.forEach(([key, value]) => { console.log(`key:${key} value:${value}`) //[key:nome value:Nélio] //[key:phone value:9999-8888] });
FOR OF const pessoas = ['João', 'Fernando', 'Marisa', 'Cláudia'] for
(let pessoa of pessoas) { console.log(pessoa); //João //Fernando //Marisa //Cláudia }
FOR IN const pessoa = { nome:'Joâo', sobrenome: 'Silva', idade:30
}; for (const dadosPessoa in pessoa) { console.log(`key=${dadosPessoa} value=${pessoa[dadosPessoa]}`); } //key=nome value=Joâo //key=sobrenome value=Silva //key=idade value=30
ABORDAGEM FUNCIONAL
MAP const data = [ { name: 'Lasanha', kal: 200,
isFit: false, type: 'comida' }, { name: 'Suco de maçã', isFit: true, kal: 10, type: bebida }, ]; const nomeAlimentos = data.map(alimentos => alimentos.name) console.log(nomeAlimentos) //["Lasanha", "Suco de Maçã"]
FILTER const data = [ { name: 'Lasanha', kal: 200,
isFit: false, type: 'comida' }, { name: 'Suco de maçã', isFit: true, kal: 10, type: bebida }, ]; const filter = data.filter(alimentos => alimentos.type === 'bebida') console.log(filter) // {name: "Suco de maçã", isFit: true, kal: 10, type:"bebida"}
FILTER E MAP const data = [ { name: 'Lasanha',
kal: 200, isFit: false, type: 'comida' }, { name: 'Suco de maçã', isFit: true, kal: 10, type: bebida }, ]; const nomeAlimentos = data.filter(alimento => alimento.type==='bebida') .map(alimento => alimento.name) console.log(nomeAlimentos) //["Suco de Maçã"]
REDUCER const data = [ { name: 'Lasanha', kal: 200,
isFit: false, type: 'comida' }, { name: 'Suco de maçã', isFit: true, kal: 10, type: bebida }, ]; const calcKals = data.reduce((acc, alimento) => acc + alimento.kal, 0); console.log(calcKals) //210 Valor cumulado retornado em cada iteração valor Inicial Valor atual do array
OBRIGADO
[email protected]
http:/ /www.linkedin.com/in/neliofrazao