SlideShare uma empresa Scribd logo
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()

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
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);!
!

// ??!
// ??!
// ??!
// ??
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
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,Mango,Orange
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!
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!
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!
Array: métodos: toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"];!
document.write(fruits.toString());!
!

// Banana,Orange,Apple,Mango!
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);!
!

// ??!
// ??!
// ??!
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!
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”;
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”
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

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”
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 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.
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

PDF
(A13) LabMM3 - JavaScript - Arrays multidimensionais
PDF
Lazy Evaluation em Scala
PDF
Construindo Soluções Científicas com Big Data & MapReduce
PDF
Computação Científica com Python, Numpy e Scipy
PPT
PDF
07 LabMM4 - Bases de dados
PDF
Web APIs
PDF
T18_LM3: Ajax
(A13) LabMM3 - JavaScript - Arrays multidimensionais
Lazy Evaluation em Scala
Construindo Soluções Científicas com Big Data & MapReduce
Computação Científica com Python, Numpy e Scipy
07 LabMM4 - Bases de dados
Web APIs
T18_LM3: Ajax

Semelhante a T13_LM3: Arrays (2013-2014) (20)

PDF
T12_LM3: Arrays (2013-2014)
PDF
(A12) LabMM3 - JavaScript - Arrays
PDF
Java script aula 04 - objeto array
PDF
LabMM3 - Aula teórica 12
PDF
LabMM3 - Aula teórica 10
PDF
PHP 5.3 - Arrays
PDF
Métodos do Array.pdf
ODP
Aula08 - Java Script
PDF
4234 mysql
PDF
Apostila php 01
PDF
(A11b) LabMM3 - JavaScript - Arrays
PPTX
Aula 02 - JavaScript: Arrays
PDF
Linguagem de programação JavaScript.pdf
PPTX
Java script para adultos
PDF
Manipulacao de arrays
PDF
JavaScript Hacks
PDF
Estruturas de dados e algoritmos com JavaScript 2nd Edition Groner Loiane
PDF
Introdução a JavaScript
PPTX
JavaScript - Objectos e Arrays
PDF
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
T12_LM3: Arrays (2013-2014)
(A12) LabMM3 - JavaScript - Arrays
Java script aula 04 - objeto array
LabMM3 - Aula teórica 12
LabMM3 - Aula teórica 10
PHP 5.3 - Arrays
Métodos do Array.pdf
Aula08 - Java Script
4234 mysql
Apostila php 01
(A11b) LabMM3 - JavaScript - Arrays
Aula 02 - JavaScript: Arrays
Linguagem de programação JavaScript.pdf
Java script para adultos
Manipulacao de arrays
JavaScript Hacks
Estruturas de dados e algoritmos com JavaScript 2nd Edition Groner Loiane
Introdução a JavaScript
JavaScript - Objectos e Arrays
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Anúncio

Mais de Carlos Santos (20)

PDF
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PDF
Is AI the Spice of our future?
PPTX
Mentoria entre pares de estudantes para estudantes
PDF
1º Encontro Científico TCEdu
PDF
Tecnologias da Comunicação em Educação 2018: Aula inicial
PPTX
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
PDF
AVILA Crew – Uma experiência de tutoria de alunos para alunos
PDF
chmod 777 education
PPTX
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
PDF
Tecnologias da Comunicação em Educação: trabalho prático
PPTX
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
PDF
chmod 777 education
PDF
SAPO Campus towards a
 Smart Learning Environment
PDF
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
PDF
A technological approach to Open and Social Learning: 
the SAPO Campus project
PDF
SAPO Campus: Gamification em contexto educativo
PDF
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
PDF
T20_LM3: APIs e Scoreoid
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Is AI the Spice of our future?
Mentoria entre pares de estudantes para estudantes
1º Encontro Científico TCEdu
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 de alunos para alunos
chmod 777 education
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Tecnologias da Comunicação em Educação: trabalho prático
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
chmod 777 education
SAPO Campus towards a
 Smart Learning Environment
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
A technological approach to Open and Social Learning: 
the SAPO Campus project
SAPO Campus: Gamification em contexto educativo
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
T20_LM3: APIs e Scoreoid
Anúncio

Último (20)

PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PPTX
Reino Monera e Protista: representantes e caracteristicas.pptx
PPTX
Ciências da Natureza e suas áreas de desenvolvimento
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PPTX
disciplulado curso preparatorio para novos
PPTX
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
PDF
A Revolução Francesa de 1789 slides história
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PDF
embriologia_animal_aula_share_2026_semestre
PPTX
A História da Europa na Baixa Idade Média.pptx
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PDF
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
Organizador Curricular da Educação em Tempo Integral.pdf
Trabalho Cidades sustentáveis ou Utopia.pptx
Reino Monera e Protista: representantes e caracteristicas.pptx
Ciências da Natureza e suas áreas de desenvolvimento
INDÚSTRIA_ Histórico da industrialização.pptx
Filosofia Ocidental Antiga 2025 - versão atualizada
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
brasilcolnia2-101027184359-phpapp02.pptx
Cantores.pdf-Deslandes, Tinoco e Zambujo
disciplulado curso preparatorio para novos
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
A Revolução Francesa de 1789 slides história
NR11 - Treinamento Direcao Defensiva - 2023.pptx
embriologia_animal_aula_share_2026_semestre
A História da Europa na Baixa Idade Média.pptx
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
HISTÓRIA DO BRASIL - anos de Democracia.pptx
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...

T13_LM3: Arrays (2013-2014)