JavaScript: métodos Array (cont.) + arrays^n
Carlos Santos

LabMM 3 - NTC - DeCA - UA

Aula 13, 30-10-2013
JavaScript: objeto Array: métodos
• Os mais comuns... mas existem mais!
Método
concat()
join()
pop()
push()
reverse()

Des...
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,B...
Array: métodos: splice()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write("Added: " + fruits.splice(2,...
Array: métodos: splice()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write("Removed: " + fruits.splice(...
Array: métodos: splice()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write("Removed: " + fruits.splice(...
Array: métodos: toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write(fruits.toString());!
!

//...
Array: métodos: unshift()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write(fruits.unshift("Kiwi") + "<...
Array: métodos: unshift()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write(fruits.unshift("Kiwi") + "<...
Estruturas de dados ainda mais complexas :)
• E se um elemento de um array não for um elemento de tipo simples?

• Exemplo...
Problemas com solução anterior?
• Os elementos não são unidades de informação

• Logo, o acesso a unidades de informação n...
Arrays bidimensionais
gajasNelo
nome

telefone

email

0

Asdrubal

961111111

asdrubal@gmail.com

1

Porfirio

931111111
...
Arrays bidimensionais
gajasNelo
0

1

2

0

“Asdrubal”

“961111111”

“asdrubal@gmail.com”

1

“Porfirio”

“931111111”

“po...
Arrays bidimensionais
gajasNelo
0

0
“Asdrubal"

0
1

“Porfirio”

0
2

“Zacarias”

1
“961111111”

1
“931111111”

1
“911111...
Arrays bidimensionais: declaração
var gajasNelo = new Array();!
gajasNelo[0] = new Array("Asdrubal","961111111","asdrubal@...
Arrays bidimensionais: declaração
// E ainda outra possibilidade!
var gajasNelo = new Array();!
gajasNelo[0] = new Array()...
Arrays bidimensionais
gajasNelo
0

1

2

0

“Asdrubal"

“961111111”

“asdrubal@gmail.com”

1

“Porfirio”

“931111111”

“po...
Arrays multidimensionais
• Os princípios aplicados na criação de um array bidimensional são válidos
para um array de qualq...
Arrays bidimensionais: exemplo
var tabuada = new Array();!
for (var linha=1; linha<=10;linha++){!
tabuada[linha] = new Arr...
Upcoming SlideShare
Loading in...5
×

T13_LM3: Arrays (2013-2014)

444

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
444
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

T13_LM3: Arrays (2013-2014)

  1. 1. JavaScript: métodos Array (cont.) + arrays^n Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 13, 30-10-2013
  2. 2. JavaScript: objeto Array: métodos • Os mais comuns... mas existem mais! Método concat() join() pop() push() reverse() Descrição Joins two or more arrays, and returns a copy of the joined arrays Joins all elements of an array into a string Removes the last element of an array, and returns that element Adds new elements to the end of an array, and returns the new length 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() unshift() Converts an array to a string, and returns the result 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. Estruturas de dados ainda mais complexas :) • E se um elemento de um array não for 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.pt”;
  14. 14. Problemas com solução anterior? • Os elementos não são unidades de informação • Logo, 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 a nova solução: “Cada elemento de um array pode ter associado um tipo de dados complexo”
  15. 15. Arrays bidimensionais gajasNelo nome telefone email 0 Asdrubal 961111111 asdrubal@gmail.com 1 Porfirio 931111111 porfirio@sapo.pt 2 Zacarias 911111111 zacarias@hotmail.com
  16. 16. Arrays bidimensionais gajasNelo 0 1 2 0 “Asdrubal” “961111111” “asdrubal@gmail.com” 1 “Porfirio” “931111111” “porfirio@sapo.pt” 2 “Zacarias” “911111111” “zacarias@hotmail.com”
  17. 17. Arrays bidimensionais gajasNelo 0 0 “Asdrubal" 0 1 “Porfirio” 0 2 “Zacarias” 1 “961111111” 1 “931111111” 1 “911111111” 2 “asdrubal@gmail.com” 2 “porfirio@sapo.pt” 2 “zacarias@hotmail.com”
  18. 18. 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"];
  19. 19. 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";! ...
  20. 20. 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); // ??
  21. 21. Arrays multidimensionais • Os princípios aplicados na 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 são de difícil manutenção.
  22. 22. 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]); // ??
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×