SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
JavaScript: métodos Array (cont.) + arrays^n
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 13, 31-10-2012
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
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
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”;
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 procurados

Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane FidelixCris Fidelix
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysLoiane Groner
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2garux
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5garux
 
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)Loiane Groner
 
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Loiane Groner
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3garux
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printfLoiane Groner
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4garux
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesStanislaw Pusep
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayDilan Nery Lopes
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBCEduardo Mendes
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaElaine Cecília Gatto
 

Mais procurados (20)

PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane Fidelix
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5
 
Python Class
Python ClassPython Class
Python Class
 
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)
Estrutura de Dados e Algoritmos com Java #19-25: Filas (Queue)
 
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
 
Aula2
Aula2Aula2
Aula2
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf
 
PowerShell e Active Directory
PowerShell e Active DirectoryPowerShell e Active Directory
PowerShell e Active Directory
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testes
 
Spring Capitulo 03
Spring Capitulo 03Spring Capitulo 03
Spring Capitulo 03
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
SPL Datastructures
SPL DatastructuresSPL Datastructures
SPL Datastructures
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDay
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
 
Programação Desktop: Revisão Core Java
Programação Desktop: Revisão Core JavaProgramação Desktop: Revisão Core Java
Programação Desktop: Revisão Core Java
 

Semelhante a JavaScript arrays métodos e estruturas multidimensionais

Semelhante a JavaScript arrays métodos e estruturas multidimensionais (20)

T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)
 
LabMM3 - Aula teórica 10
LabMM3 - Aula teórica 10LabMM3 - Aula teórica 10
LabMM3 - Aula teórica 10
 
Java script aula 04 - objeto array
Java script   aula 04 - objeto arrayJava script   aula 04 - objeto array
Java script aula 04 - objeto array
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
 
PHP 5.3 - Arrays
PHP 5.3 - ArraysPHP 5.3 - Arrays
PHP 5.3 - Arrays
 
Aquece Para a prova de EDA3
Aquece Para a prova de EDA3Aquece Para a prova de EDA3
Aquece Para a prova de EDA3
 
Java para iniciantes
Java para iniciantesJava para iniciantes
Java para iniciantes
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
Aula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQLAula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQL
 
Apresentação j query5
Apresentação j query5Apresentação j query5
Apresentação j query5
 
LabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - ArraysLabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - Arrays
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
Heap Máximo
Heap MáximoHeap Máximo
Heap Máximo
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
JavaScript - De verdade
JavaScript - De verdadeJavaScript - De verdade
JavaScript - De verdade
 
Javascript
JavascriptJavascript
Javascript
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
SciLab -Tutorial
SciLab -TutorialSciLab -Tutorial
SciLab -Tutorial
 
Curso de PHP - Arrays
Curso de PHP - ArraysCurso de PHP - Arrays
Curso de PHP - Arrays
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 

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

Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfManuais Formação
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxLaurindo6
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 

Último (20)

XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdfCD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
CD_B3_C_ Criar e editar conteúdos digitais em diferentes formatos_índice.pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 

JavaScript arrays métodos e estruturas multidimensionais

  • 1. JavaScript: métodos Array (cont.) + arrays^n Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 13, 31-10-2012
  • 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. 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. 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. Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // ??
  • 6. Array: métodos: sort() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.sort()); // Apple,Banana,Mango,Orange
  • 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. 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. 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. Array: métodos: toString() var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.write(fruits.toString()); // Banana,Orange,Apple,Mango
  • 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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]); // ??