am_dot_com

SW210428

Apr 28th, 2021 (edited)
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Arrays</title>
  6. <!-- um array é uma coleção -->
  7. </head>
  8. <body>
  9. <script>
  10. var a = []; //notação +sucinta
  11. var alt = new Array(); //deixa evidente que há um tipo de dados em ação = Array
  12.  
  13. var b = [1, 2];
  14. var c = ["Artur", "Maria", "Carla"]; //sempre o mesmo tipo
  15. var d = [1, true, "Artur"]; //3 tipos diferentes Number, Boolean, String => possível nas linguagens fracamente tipificadas
  16.  
  17. //notação JSON (não é um array!)
  18. var aluno = {
  19. "numero":1,
  20. "inscrito":true,
  21. "nome":"Artur"
  22. };
  23.  
  24. //como endereçamos as "coisas", os "objetos", os valores contidos num array
  25. var a2 = [1,2,3]; //por exemplo, como enderçar o último dos valores?
  26. /*
  27. num array, todos os elementos são endereçáveis
  28. significa: todos têm um endereço
  29. qual é esse endereço?
  30. em JS os endereços em arrays são numéricos, baseados em zero, e automáticos
  31. quer dizer que o 1 vive no endereço 0, o 2 no endereço 1, o 3 no endereço 2
  32. ou seja, se tivéssemos (NÃO TEMOS EM JS!) um operador para relacionar
  33. endereços com valores teríamos isto
  34. [1, 2, 3]
  35. */
  36. //utilização do operador de endereçamento
  37. // [ left-square-bracket ] right-square-bracket
  38. a2[0] = 10;
  39. a2[1] = 20;
  40. a2[2] = 30;
  41. document.write (a2);
  42. document.write ("<hr>");
  43.  
  44. a2[0]=2*a2[0];
  45. a2[1]=2*a2[1];
  46. a2[2]=2*a2[2];
  47. document.write (a2);
  48. document.write ("<hr>");
  49. //[20, 40, 60]
  50.  
  51. //arrays 1D
  52. var a3 = [
  53. [], //0
  54. [1,2], //1
  55. ["A", "B"] //2
  56. ];
  57.  
  58. a3[1][0] = "C";
  59. document.write (a3);
  60.  
  61. var aposta = [1,2,3,4];
  62. //como acrescentar elementos à coleção
  63. //acrescentar no final (método push)
  64. aposta.push(5); //[1,2,3,4,5]
  65. aposta.push("banana"); //[1,2,3,4,5, "banana"]
  66. //aposta[6] = "morango";
  67. aposta[aposta.length] = "morango";
  68. //[1,2,3,4,5, "banana", "morango"]
  69.  
  70. //acrescentar no início => implica reendereçar todos os valores => computacionalmente custoso
  71. //método unshift (métodos são comportamentos de objetos)
  72. aposta.unshift(0); //[0, 1, 2, 3, 4, 5, "banana", "morango"];
  73.  
  74. document.write ("<br>");
  75. document.write (aposta);
  76.  
  77. document.write ("<br>");
  78. document.write (typeof(aposta));
  79.  
  80. var hoje = new Date();
  81. document.write ("<br>");
  82. document.write (typeof(hoje));
  83.  
  84. //como distinguir o tipo EFETIVO do objeto
  85. //porque, qq que seja o objeto, typeof responderá SEMPRE apenas "object"
  86. //a prototipagem
  87. document.write ("<br>");
  88. document.write (aposta.constructor.name+"<br>");
  89. document.write (hoje.constructor.name+"<br>");
  90. </script>
  91. </body>
  92. </html>
Add Comment
Please, Sign In to add comment