SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
JavaScript: For-in e arrays^n
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 12, 03-11-2011
Estrutura de repetição: for-in
    variável que no decorrer da
   execução do ciclo vai tomar
   todos os valores dos índices
              do objeto           array que se pretende iterar
                                      todos os elementos


   for ( index in nomeArray )
   {
     // código a executar
   }
Estrutura de repetição: for-in (exemplo)

 var msg = “Nelo, mulher, as tuas gajas são: “;
 for (cont = 0; cont <= gajasNelo.length - 1; cont++) {
     msg = msg + gajasNelo[cont] + “, “;
 }
 alert (msg);


 // versão com for-in
 var gajasNelo = new Array("Jair", "Marcolino", "Marco");
 for (var indexGaja in gajasNelo) {
     msg = msg + gajasNelo[indexGaja] + ", ";
 }
 alert (msg);
Estuturas de dados ainda mais complexas :)

• E se um elemento de um array não for na realidade um elemento de tipo
  simples?

• Exemplo: O Nelo não pode guardar só o nome das suas gajas. Ele precisa
  guardar o número de telemóvel e o email (um dia ele saberá para que
  serve...)!

 var gajasNelo = new Array();
 gajasNelo[0] = “Asdrubal, 961111111, asdrubal@gmail.com”;
 gajasNelo[1] = “Porfirio, 931111111, porfirio@sapo.pt”;
 gajasNelo[2] = “Zacarias, 911111111, zacarias@hotmail.com”;
Problemas com solução anterior?

• Elementos não são unidades de informação

• Acesso a unidades de informação não pode ser realizado de uma forma
  simples e sistemática

• “Voltamos ao problema de misturar alhos com bugalhos!”



• Então como resolver?

  • Pista para nova solução: “Cada elemento de um array pode ter associado
    um tipo de dados complexo”
Arrays bidimensionais

gajasNelo
        nome       telefone         email
0   Asdrubal      961111111   asdrubal@gmail.com


1   Porfirio      931111111   porfirio@sapo.pt


2   Zacarias      911111111   zacarias@hotmail.com
Arrays bidimensionais

gajasNelo
           0            1              2
0   Asdrubal      961111111   asdrubal@gmail.com


1   Porfirio      931111111   porfirio@sapo.pt


2   Zacarias      911111111   zacarias@hotmail.com
Arrays bidimensionais

gajasNelo

          0             1             2
0   Asdrubal      961111111   asdrubal@gmail.com



          0             1             2
1   Porfirio      931111111   porfirio@sapo.pt



          0             1             2
2   Zacarias      911111111   zacarias@hotmail.com
Arrays bidimensionais: declaração

var gajasNelo = new Array();
gajasNelo[0] = new Array("Asdrubal","961111111","asdrubal@gmail.com");
gajasNelo[1] = new Array("Porfirio","931111111","porfirio@sapo.pt");
gajasNelo[2] = new Array("Zacarias","911111111","zacarias@hotmail.com");


// Outra possibilidade
var gajasNelo = new Array();
gajasNelo[0] = ["Asdrubal","961111111","asdrubal@gmail.com"];
gajasNelo[1] = ["Porfirio","931111111","porfirio@sapo.pt"];
gajasNelo[2] = ["Zacarias","911111111","zacarias@hotmail.com"];
Arrays bidimensionais: declaração

// E ainda outra possibilidade
var gajasNelo = new Array();
  gajasNelo[0] = new Array();
    gajasNelo[0][0] = "Asdrubal";
    gajasNelo[0][1] = "961111111";
    gajasNelo[0][2] = "asdrubal@gmail.com";
  gajasNelo[1] = new Array();
    gajasNelo[1][0] = "Porfirio";
    ...
Arrays bidimensionais
gajasNelo
       0                     1                 2
0   Asdrubal         961111111        asdrubal@gmail.com


1   Porfirio         931111111        porfirio@sapo.pt


2   Zacarias         911111111        zacarias@hotmail.com


alert(gajasNelo[1]); // ??
alert(gajasNelo[0][2]); // ??
alert(gajasNelo[2][1]); // ??
gajasNelo[1][0] = “Marcão”; // ??
gajasNelo[2][2] = gajasNelo[1][2]; // ??
alert(gajasNelo.length); // ??
alert(gajasNelo[1].length); // ??
Arrays multidimensionais

• Os princípios aplicados para a criação de um array bidimensional são válidos
  para um array de qualquer dimensão;

• num array bidimensional, cada elemento pode ser também um array,
  resultando num array tridimensional;

• e esta lógica pode continuar a ser aplicada...

• Raramente se recorre a arrays com mais do que 3 dimensões porque
  começam a ser demasiado complexos de visualizar e de difícil manutenção.
Arrays bidimensionais: exemplo

var tabuada = new Array();
    for (var linha=1; linha<=10;linha++){
      tabuada[linha]=new Array();
      for (var coluna = 1; coluna<=10;coluna++){
          tabuada[linha][coluna]=linha*coluna;
      }
}


alert(tabuada[5][5]); // ??
alert(tabuada[0][5]); // ??

Mais conteúdo relacionado

Mais de Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Último

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 

Último (20)

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 

LabMM3 - Aula teórica 12

  • 1. JavaScript: For-in e arrays^n Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 12, 03-11-2011
  • 2. Estrutura de repetição: for-in variável que no decorrer da execução do ciclo vai tomar todos os valores dos índices do objeto array que se pretende iterar todos os elementos for ( index in nomeArray ) { // código a executar }
  • 3. Estrutura de repetição: for-in (exemplo) var msg = “Nelo, mulher, as tuas gajas são: “; for (cont = 0; cont <= gajasNelo.length - 1; cont++) { msg = msg + gajasNelo[cont] + “, “; } alert (msg); // versão com for-in var gajasNelo = new Array("Jair", "Marcolino", "Marco"); for (var indexGaja in gajasNelo) { msg = msg + gajasNelo[indexGaja] + ", "; } alert (msg);
  • 4. Estuturas de dados ainda mais complexas :) • E se um elemento de um array não for na realidade um elemento de tipo simples? • Exemplo: O Nelo não pode guardar só o nome das suas gajas. Ele precisa guardar o número de telemóvel e o email (um dia ele saberá para que serve...)! var gajasNelo = new Array(); gajasNelo[0] = “Asdrubal, 961111111, asdrubal@gmail.com”; gajasNelo[1] = “Porfirio, 931111111, porfirio@sapo.pt”; gajasNelo[2] = “Zacarias, 911111111, zacarias@hotmail.com”;
  • 5. Problemas com solução anterior? • Elementos não são unidades de informação • Acesso a unidades de informação não pode ser realizado de uma forma simples e sistemática • “Voltamos ao problema de misturar alhos com bugalhos!” • Então como resolver? • Pista para nova solução: “Cada elemento de um array pode ter associado um tipo de dados complexo”
  • 6. Arrays bidimensionais gajasNelo nome telefone email 0 Asdrubal 961111111 asdrubal@gmail.com 1 Porfirio 931111111 porfirio@sapo.pt 2 Zacarias 911111111 zacarias@hotmail.com
  • 7. Arrays bidimensionais gajasNelo 0 1 2 0 Asdrubal 961111111 asdrubal@gmail.com 1 Porfirio 931111111 porfirio@sapo.pt 2 Zacarias 911111111 zacarias@hotmail.com
  • 8. Arrays bidimensionais gajasNelo 0 1 2 0 Asdrubal 961111111 asdrubal@gmail.com 0 1 2 1 Porfirio 931111111 porfirio@sapo.pt 0 1 2 2 Zacarias 911111111 zacarias@hotmail.com
  • 9. Arrays bidimensionais: declaração var gajasNelo = new Array(); gajasNelo[0] = new Array("Asdrubal","961111111","asdrubal@gmail.com"); gajasNelo[1] = new Array("Porfirio","931111111","porfirio@sapo.pt"); gajasNelo[2] = new Array("Zacarias","911111111","zacarias@hotmail.com"); // Outra possibilidade var gajasNelo = new Array(); gajasNelo[0] = ["Asdrubal","961111111","asdrubal@gmail.com"]; gajasNelo[1] = ["Porfirio","931111111","porfirio@sapo.pt"]; gajasNelo[2] = ["Zacarias","911111111","zacarias@hotmail.com"];
  • 10. Arrays bidimensionais: declaração // E ainda outra possibilidade var gajasNelo = new Array(); gajasNelo[0] = new Array(); gajasNelo[0][0] = "Asdrubal"; gajasNelo[0][1] = "961111111"; gajasNelo[0][2] = "asdrubal@gmail.com"; gajasNelo[1] = new Array(); gajasNelo[1][0] = "Porfirio"; ...
  • 11. Arrays bidimensionais gajasNelo 0 1 2 0 Asdrubal 961111111 asdrubal@gmail.com 1 Porfirio 931111111 porfirio@sapo.pt 2 Zacarias 911111111 zacarias@hotmail.com alert(gajasNelo[1]); // ?? alert(gajasNelo[0][2]); // ?? alert(gajasNelo[2][1]); // ?? gajasNelo[1][0] = “Marcão”; // ?? gajasNelo[2][2] = gajasNelo[1][2]; // ?? alert(gajasNelo.length); // ?? alert(gajasNelo[1].length); // ??
  • 12. Arrays multidimensionais • Os princípios aplicados para a criação de um array bidimensional são válidos para um array de qualquer dimensão; • num array bidimensional, cada elemento pode ser também um array, resultando num array tridimensional; • e esta lógica pode continuar a ser aplicada... • Raramente se recorre a arrays com mais do que 3 dimensões porque começam a ser demasiado complexos de visualizar e de difícil manutenção.
  • 13. Arrays bidimensionais: exemplo var tabuada = new Array(); for (var linha=1; linha<=10;linha++){ tabuada[linha]=new Array(); for (var coluna = 1; coluna<=10;coluna++){ tabuada[linha][coluna]=linha*coluna; } } alert(tabuada[5][5]); // ?? alert(tabuada[0][5]); // ??