JavaScript: For-in e arrays^nCarlos SantosLabMM 3 - NTC - DeCA - UAAula 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...
Estrutura de repetição: for-in (exemplo) var msg = “Nelo, mulher, as tuas gajas são: “; for (cont = 0; cont <= gajasNelo.l...
Estuturas de dados ainda mais complexas :)• E se um elemento de um array não for na realidade um elemento de tipo  simples...
Problemas com solução anterior?• Elementos não são unidades de informação• Acesso a unidades de informação não pode ser re...
Arrays bidimensionaisgajasNelo        nome       telefone         email0   Asdrubal      961111111   asdrubal@gmail.com1  ...
Arrays bidimensionaisgajasNelo           0            1              20   Asdrubal      961111111   asdrubal@gmail.com1   ...
Arrays bidimensionaisgajasNelo          0             1             20   Asdrubal      961111111   asdrubal@gmail.com     ...
Arrays bidimensionais: declaraçãovar gajasNelo = new Array();gajasNelo[0] = new Array("Asdrubal","961111111","asdrubal@gma...
Arrays bidimensionais: declaração// E ainda outra possibilidadevar gajasNelo = new Array();  gajasNelo[0] = new Array();  ...
Arrays bidimensionaisgajasNelo       0                     1                 20   Asdrubal         961111111        asdrub...
Arrays multidimensionais• Os princípios aplicados para a criação de um array bidimensional são válidos  para um array de q...
Arrays bidimensionais: exemplovar tabuada = new Array();    for (var linha=1; linha<=10;linha++){      tabuada[linha]=new ...
Próximos SlideShares
Carregando em…5
×

LabMM3 - Aula teórica 12

891 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
891
No SlideShare
0
A partir de incorporações
0
Número de incorporações
0
Ações
Compartilhamentos
0
Downloads
79
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

LabMM3 - Aula teórica 12

  1. 1. JavaScript: For-in e arrays^nCarlos SantosLabMM 3 - NTC - DeCA - UAAula 12, 03-11-2011
  2. 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. 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. 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. 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. 6. Arrays bidimensionaisgajasNelo nome telefone email0 Asdrubal 961111111 asdrubal@gmail.com1 Porfirio 931111111 porfirio@sapo.pt2 Zacarias 911111111 zacarias@hotmail.com
  7. 7. Arrays bidimensionaisgajasNelo 0 1 20 Asdrubal 961111111 asdrubal@gmail.com1 Porfirio 931111111 porfirio@sapo.pt2 Zacarias 911111111 zacarias@hotmail.com
  8. 8. Arrays bidimensionaisgajasNelo 0 1 20 Asdrubal 961111111 asdrubal@gmail.com 0 1 21 Porfirio 931111111 porfirio@sapo.pt 0 1 22 Zacarias 911111111 zacarias@hotmail.com
  9. 9. Arrays bidimensionais: declaraçãovar 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 possibilidadevar 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. 10. Arrays bidimensionais: declaração// E ainda outra possibilidadevar 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. 11. Arrays bidimensionaisgajasNelo 0 1 20 Asdrubal 961111111 asdrubal@gmail.com1 Porfirio 931111111 porfirio@sapo.pt2 Zacarias 911111111 zacarias@hotmail.comalert(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. 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. 13. Arrays bidimensionais: exemplovar 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]); // ??

×