Java script aula 04 - objeto array

1.140 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Java script aula 04 - objeto array

  1. 1. JavaScript - Objeto Array Cristiano Pires Martins Fonte: JavaScript: Guia do Programador - Maujor
  2. 2. Fundamentos • Array é um objeto destinado a armazenar uma coleção ordenada de dados indexados sequencialmente a partir de zero; • Para criar um array: • var meuArray = new Array( ); • Para popular um array: • var meuArray = new Array(“casa”, “rio”, 5, “Jales”, 125); • Cada elemento tem seu índice, começando por zero;
  3. 3. Fundamentos • Arrays podem conter dados do tipo objeto: • var outroArray = new Array(“casa”, “rio”, {x: 14, y: “mar”}); • Para ler: • outroArray[2].x; ou outroArray[2][“x”]; • outroArray[2].y; ou outroArray[2][“y”];
  4. 4. Fundamentos • Outra forma é criar e popular depois: var a = new Array; a[0] = 3.14159; a[1] = “prego”; a[2] = true; a[3] = {nome: “Cristiano”, cidade: “Jales”}; Para ler: a[0] //Retorna 3.14159 a[3].cidade //Retorna Jales
  5. 5. Propriedades do Construtor • Construtor: é uma referência à função que cria o objeto; • Prototype: permite adicionar novas propriedades e/ou métodos a um objeto existente; • Length: retorna a quantidade de elementos de um array; var arr = new Array(1, 2, 3, “a”, “b”, “c”, {nome: “Cristiano”, cidade: “Jales”}); var x = arr.length; //O valor de x é sete
  6. 6. Métodos do objeto Array • Concat(arg1, arg2, ..., argn) var arr = [1, 2, “a”, “b”]; var a = arr.concat(“m”, 32); //resulta em a = [1, 2, “a”, “b”, “m”, 32]; • every(função(elem, ind, obj) [,thisObjeto]) var arr = [21, 3, 18, 290]; function funcaoUm(elem, ind, obj){ return (typeof elem == “number”); } var x = arr.every(funcaoUm); alert(x); //retorna true, todos os elementos são números Até o Internet Explorer 8 não funciona esse método! Mas existem funções que fazem funcionar.
  7. 7. Métodos do objeto Array • filter (função(elem, ind, obj) [,thisObjeto]) var arr = [21, 3, 18, “a”, 290, “b”, 7]; function filtrarArray(elem, ind, obj){ return (elem >= 18); } var x = arr.filter(filtrarArray); alert(x); //retorna [21, 18, 290] var arr = [21, 3, 18, “a”, 290, “b”, 7]; function filtrarArray(elem, ind, obj){ return (typeof elem == “string”); } var x = arr.filter(filtrarArray); alert(x); //retorna [“a”,”b”] var arr = [21, 3, 18, “a”, 290, “b”, 7]; function filtrarArray(elem, ind, obj){ return (ind < 4); } var x = arr.filter(filtrarArray); alert(x); //retorna [21, 3, 18, “a”]
  8. 8. Métodos do objeto Array • forEach(função(elem, ind, obj) [,thisObjeto]) var arr = [21, 3, 18, “a”, 290, “b”, 7]; var msg = “”; function funcaoUm(elem, ind, obj){ msg += “arr[“ + ind + “] = “ + elem + “n”; } arr.forEach(funcaoUm); alert(msg);
  9. 9. Métodos do objeto Array • indexOf(elemento, [arg2, true ou false]) var arr = [1, 2, “a”, “b”, “2”, “c”, 1, “a”, “45”]; var a = arr.indexOf(“b”); //retorna 3 var b = arr.indexOf(“a”); //retorna 2 var c = arr.indexOf(23); //retorna -1 var d = arr.indexOf(2); //retorna 1 var e = arr.indexOf(45); //retorna -1 var arr = [1, 2, “a”, “b”, “2”, “c”, 1, “a”, “45”]; var a = arr.indexOf(1); //retorna 0 - índice do primeiro elemento 1 no array var b = arr.indexOf(1,2); //retorna 6 - índice do primeiro elemento 1 no array //começando a busca no terceiro elemento var arr = [1, 2, “a”, “b”, “2”, “c”, 1, “a”, “45”]; var a = arr.indexOf(45); //retorna -1 - não existe o número 45 no array var b = arr.indexOf(45,0,true); //retorna 8 - não considera tipo de dado O terceiro argumento não é suportado por nenhum argumento atual
  10. 10. Métodos do objeto Array • lastIndexOf(elemento, [arg2, true ou false]) var arr = [1, 2, “a”, “b”, “2”, “c”, 1, “a”, “45”]; var a = arr.indexOf(“a”); //retorna 2 var b = arr.lastIndexOf(“a”); //retorna 7 • join([arg]) var arr = [1, 2, “a”, “b”]; var a = arr.join( ); //resulta na string a = “1,2,a,b” var b = arr.join(“ - ”); //resulta na string a = “1 - 2 - a - b” var c = arr.join(“*”); //resulta na string a = “1*2*a*b”
  11. 11. Métodos do objeto Array • map(função(elem, ind, obj) [,thisObjeto]) var arr = [21, 3, 18, 290]; function funcaoUm(elem, ind, obj){ return (elem = elem*10); } var x = arr.map(funcaoUm); alert(x); //retorna [210, 30, 180, 2900] • pop( ): remove o último elemento de um array e retorna o valor que foi removido; var arr = [1, 2, “a”, “b”]; var a = arr.pop( ); //resulta em a = “b” e arr.length = 3
  12. 12. Métodos do objeto Array • push(arg1, arg2, ..., argn): acrescenta os argumentos no final de um array e retorna a nova quantidade de elementos no array; var arr = [1, 2, “a”, “b”]; var a = arr.push(5, 6, 7, “m”); //resulta em a = 8 //arr = [1, 2, “a”, “b”, 5, 6, 7, “m”] • reduce(função(v1, v2, ind, arr)[,vInicial]): reduz a um único resultado usando a operação da função. No caso do exemplo 2, acrescenta 100 ao resultado var arr = [1, 4, 7, 15]; funcaoUm = function(v1,v2,ind,arr){ return v1+v2; } var x = arr.reduce(funcaoUm); alert(x); var arr = [1, 4, 7, 15]; funcaoDois = function(v1,v2,ind,arr){ return v1+v2; } var x = arr.reduce(funcaoDois,100); alert(x);
  13. 13. Métodos do objeto Array • reduceRight(função(v1, v2, ind, arr)[,vInicial]): funciona de modo semelhante ao reduce, com a diferença que a função percorre o array do último elemento para o primeiro; • reverse( ): inverte a ordem dos elementos de um array; var arr = [1, 2, “a”, “b”]; arr.reverse( ); //resulta arr = [“b”, “a”, 2, 1] alert(arr); • shift( ): remove o primeiro elemento de um array e retorna o valor que foi removido; var arr = [1, 2, “a”, “b”]; var a = arr.shift( ); //resulta em a = 1 e arr.length = 3
  14. 14. Métodos do objeto Array • slice(arg1 [,arg2]): retorna um subarray do array. Admite um ou dois argumentos que definem o índice inicial e o final do subarray a extrair: • Diretrizes: • Extrai o subarray desde o elemento definido no arg1, mas não inclui o arg2; • Se não definir o arg2, extrai desde o arg1 e vai até o final; • Argumentos negativos revertem o início de contagem do índice para o último elemento. var arr = [1, 2, 3, 4, “a”, “b”, “c”]; var a = arr.slice(2, 5); //resulta em a = [3, 4, “a”] var a = arr.slice(3); //resulta em a = [4, “a”, “b”, “c”] var a = arr.slice(-5, 6); //resulta em a = [3, 4, “a”, ”b”] var a = arr.slice(-6, -4); //resulta em a = [2, 3]
  15. 15. Métodos do objeto Array • some (função(elem, ind, obj) [,thisObjeto]) var arr = [21, 3, 18, “a”, 290]; function funcaoUm(elem, ind, obj){ return (typeof elem == “string”); } var x = arr.some(funcaoUm); alert(x); //retorna true, pois existe pelo menos 1 elemento string no array var arr = [21, 3, 18, 290]; function funcaoDois(elem, ind, obj){ return (typeof elem == “string”); } var x = arr.some(funcaoDois); alert(x); //retorna false, pois não existe 1 elemento string no array
  16. 16. Métodos do objeto Array Os métodos listados a seguir foram implementados na versão JavaScript 1.8 da linguagem e estão previstos na especificação ECMA-262. Esses métodos ainda não estão implementados em todos os navegadores modernos. • sort([funcao]): destina a ordenar os elementos de um array. Havendo número, serão transformados em strings para determinar a ordem, resultado em ordenação não numérica; var arr = [“maçã”, “laranja”, “limão”, “abacate”, “banana”]; arr.sort( ); var arrUm = [2, 128, 34, 111]; arrUm.sort( ); alert(arr); alert(arrUm); var arr = [2, 128, -32, 47, 34, 111, -67]; arr.sort(function(a,b){ return a-b; para ordenar decrescente, basta fazer no corpo da função: return b - a; }); //resulta em arr = [-67, -32, 2, 34, 47, 111, 128]

×