JavaScript: métodos Array (cont.) + arrays^nCarlos SantosLabMM 3 - NTC - DeCA - UAAula 13, 31-10-2012
JavaScript: objeto Array: métodos• Os mais comuns... mas existem mais!    Método                                        De...
Array: métodos: slice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.slice(0,1) + "<br />");...
Array: métodos: slice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.slice(0,1) + "<br />");...
Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // ??
Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // Apple,Banana...
Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Added: " + fruits.splice(2,0...
Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Removed: " + fruits.splice(2...
Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Removed: " + fruits.splice(2...
Array: métodos: toString() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.toString()); // Bana...
Array: métodos: unshift() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.unshift("Kiwi") + "<b...
Array: métodos: unshift() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.unshift("Kiwi") + "<b...
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 ...
Upcoming SlideShare
Loading in …5
×

(A13) LabMM3 - JavaScript - Arrays multidimensionais

1,318 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,318
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
105
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

(A13) LabMM3 - JavaScript - Arrays multidimensionais

  1. 1. JavaScript: métodos Array (cont.) + arrays^nCarlos SantosLabMM 3 - NTC - DeCA - UAAula 13, 31-10-2012
  2. 2. JavaScript: objeto Array: métodos• Os mais comuns... mas existem mais! Método Descrição concat() Joins two or more arrays, and returns a copy of the joined arrays join() Joins all elements of an array into a string pop() Removes the last element of an array, and returns that element push() Adds new elements to the end of an array, and returns the new length reverse() Reverses the order of the elements in an array shift() Removes the first element of an array, and returns that element slice() Selects a part of an array, and returns the new array sort() Sorts the elements of an array splice Adds/Removes elements from an array toString() Converts an array to a string, and returns the result unshift() Adds new elements to the beginning of an array, and returns the new length http://www.w3schools.com/jsref/jsref_obj_array.asp
  3. 3. Array: métodos: slice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.slice(0,1) + "<br />"); document.write(fruits.slice(1) + "<br />"); document.write(fruits.slice(-2) + "<br />"); document.write(fruits); // ?? // ?? // ?? // ??
  4. 4. Array: métodos: slice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.slice(0,1) + "<br />"); document.write(fruits.slice(1) + "<br />"); document.write(fruits.slice(-2) + "<br />"); document.write(fruits); // Banana // Orange,Apple,Mango // Apple,Mango // Banana,Orange,Apple,Mango
  5. 5. Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // ??
  6. 6. Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // Apple,Banana,Mango,Orange
  7. 7. Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Added: " + fruits.splice(2,0,"Lemon") + "<br />"); document.write(fruits); // Added: // Banana,Orange,Lemon,Apple,Mango
  8. 8. Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Removed: " + fruits.splice(2,1,"Lemon") + "<br />"); document.write(fruits); // Removed: Apple // Banana,Orange,Lemon,Mango
  9. 9. Array: métodos: splice() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write("Removed: " + fruits.splice(2,2,"Lemon") + "<br />"); document.write(fruits); // Removed: Apple,Mango // Banana,Orange,Lemon
  10. 10. Array: métodos: toString() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.toString()); // Banana,Orange,Apple,Mango
  11. 11. Array: métodos: unshift() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.unshift("Kiwi") + "<br />"); document.write(fruits.unshift("Lemon","Pineapple") + "<br />"); document.write(fruits); // ?? // ?? // ??
  12. 12. Array: métodos: unshift() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.unshift("Kiwi") + "<br />"); document.write(fruits.unshift("Lemon","Pineapple") + "<br />"); document.write(fruits); // 5 // 7 // Lemon,Pineapple,Kiwi,Banana,Orange,Apple,Mango
  13. 13. 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! 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”;
  14. 14. 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”
  15. 15. Arrays bidimensionaisgajasNelo nome telefone email0 Asdrubal 961111111 asdrubal@gmail.com1 Porfirio 931111111 porfirio@sapo.pt2 Zacarias 911111111 zacarias@hotmail.com
  16. 16. Arrays bidimensionaisgajasNelo 0 1 20 Asdrubal 961111111 asdrubal@gmail.com1 Porfirio 931111111 porfirio@sapo.pt2 Zacarias 911111111 zacarias@hotmail.com
  17. 17. 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
  18. 18. 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"];
  19. 19. 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"; ...
  20. 20. 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); // ??
  21. 21. 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.
  22. 22. 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]); // ??

×