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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nélio Frazão
April 24, 2020
Technology
0
27
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
39
Vamos Falar Sobre Micro Frontends
neliofrazao
0
160
Vamos falar sobre TDD
neliofrazao
0
20
Other Decks in Technology
See All in Technology
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
2k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Tebiki Engineering Team Deck
tebiki
0
24k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Red Hat OpenStack Services on OpenShift
tamemiya
0
110
AWS Network Firewall Proxyを触ってみた
nagisa53
1
240
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
470
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
310
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Building the Perfect Custom Keyboard
takai
2
690
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Side Projects
sachag
455
43k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
WCS-LA-2024
lcolladotor
0
450
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