Guest User

Untitled

a guest
Apr 26th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. /* Lab4.js */
  2.  
  3. "use strict";
  4.  
  5. var JSONCars = [
  6.  
  7. {"regnr" : "AAA111", "fabrikat" : "Volvo", "modell" : "V70", "mil" : "1000"},
  8. {"regnr" : "BBB222", "fabrikat" : "Saab", "modell" : "95", "mil" : "2000"},
  9. {"regnr" : "CCC333", "fabrikat" : "Audi", "modell" : "A4", "mil" : "3000"},
  10. {"regnr" : "DDD444", "fabrikat" : "Fiat", "modell" : "Freemont", "mil" : "4000"},
  11. {"regnr" : "EEE555", "fabrikat" : "Skoda", "modell" : "Octavia", "mil" : "5000"},
  12. {"regnr" : "FFF666", "fabrikat" : "Mazda", "modell" : "6", "mil" : "6000"},
  13. {"regnr" : "GGG777", "fabrikat" : "Kia", "modell" : "Optima", "mil" : "7000"},
  14. {"regnr" : "HHH888", "fabrikat" : "Honda", "modell" : "Civic", "mil" : "8000"},
  15. {"regnr" : "III999", "fabrikat" : "Suzuki", "modell" : "Swift", "mil" : "9000"}
  16.  
  17. ];
  18.  
  19. // Kör dessa funktioner när fönstret är laddat
  20. window.onload = function ()
  21. {
  22. createTable ();
  23. createTableHead ( JSONCars.length, JSONCars);
  24. createTableRow ( JSONCars.length, JSONCars );
  25.  
  26. };
  27.  
  28. function createTable ()
  29. {
  30. // Skapar table och lägger till nödvändiga klasser
  31. var table = document.createElement ( "table" );
  32. table.classList.add ( "table" );
  33. table.classList.add ( "table-striped" );
  34. table.classList.add ( "table-hover" );
  35.  
  36. // Hämtar specifik container och lägger till table
  37. var container = document.getElementsByClassName ( "container-fluid" ) [0];
  38. container.appendChild ( table );
  39. }
  40.  
  41. function createTableHead ( inTrRef, inJSONObject )
  42. {
  43. // Hittar table
  44. var table = document.getElementsByClassName ( "table" ) [0];
  45.  
  46. // Skapar table head och lägger till det i table
  47. var tHead = document.createElement ( "thead" );
  48. table.appendChild ( tHead );
  49.  
  50. // Skapar table row och lägger till det i table head
  51. var tr = document.createElement ( "tr" );
  52. tHead.appendChild ( tr );
  53.  
  54. // Tar fram attribut ur objekt på plats [0] ur arrayen inJSONObject
  55. var attr = Object.keys ( inJSONObject [ 0 ] );
  56.  
  57. // Loopar antal attributer som finns i första objektet i arrayen inJSONObject
  58. for ( var i = 0; i < attr.length; i++ )
  59. {
  60. // Skapar th och lägger till i table row
  61. var th = document.createElement ( "th" );
  62. tr.appendChild ( th );
  63.  
  64. // Lägger till attribut från objektet
  65. th.innerHTML += attr [ i ];
  66. }
  67. }
  68.  
  69. function createTableRow ( inTrRef, inJSONObject )
  70. {
  71. // Hittar table, skapar en table body och stoppar in den i table
  72. var table = document.getElementsByClassName ( "table" ) [ 0 ];
  73. var tBody = document.createElement ( "tBody" );
  74. table.appendChild ( tBody );
  75.  
  76. // Loopar antal gånger som antal objekt i listan inJSONObject
  77. for ( var i = 0; i < inTrRef; i++ )
  78. {
  79. // Skapar en table row och lägger till i table body
  80. var tr = document.createElement( "tr" );
  81. tBody.appendChild ( tr );
  82.  
  83. // Tar fram en array med värden ur objekt på plats [i]
  84. var val = Object.values ( inJSONObject [ i ] );
  85.  
  86. // Loopar antal gånger som antal values i objektet
  87. for ( var j = 0; j < val.length; j++ )
  88. {
  89. // Skapar och lägger till table data
  90. var td = document.createElement ( "td" );
  91. tr.appendChild ( td );
  92.  
  93. // Hämtar ut data från plats [i] och lägger in i html
  94. var text = document.createTextNode ( val [ j ] );
  95. td.appendChild ( text );
  96. }
  97. }
  98. }
Add Comment
Please, Sign In to add comment