Guest User

Untitled

a guest
Apr 20th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. var obj1, obj2, obj3, obj4, obj5, obj6, obj7;
  2. var composers;
  3.  
  4. function init()
  5. {
  6. obj1 = obj("Bach", 1);
  7. obj2 = obj("Beethoven", 2);
  8. obj3 = obj("Mozart", 3);
  9. obj4 = obj("Vivaldi", 4);
  10. obj5 = obj("Wagner", 5);
  11. obj6 = obj("Verdi", 6);
  12. obj7 = obj("Straus", 7);
  13.  
  14. composers = [obj6, obj4, obj2, obj7, obj5, obj3, obj1];
  15.  
  16. //unsorted
  17. printComposers();
  18.  
  19. //sorted
  20. sortComposers();
  21. printComposers();
  22.  
  23. //average
  24. console.log(calculateAverage());
  25. }
  26.  
  27. function obj(names, rankings)
  28. {
  29. return {
  30. name: names,
  31. ranking: rankings
  32. };
  33. }
  34.  
  35. function sortComposers()
  36. {
  37. let max; //used as index for sorting
  38. let tmpObj; //temporary object
  39. let array = []; //temproary array
  40.  
  41. //find largest ranking and push it to the end of a temporary array
  42. while(composers.length > 0)
  43. {
  44. max = 0;
  45.  
  46. for(let i = 0; i < composers.length; i++)
  47. {
  48. if(composers[max].ranking > composers[i].ranking)
  49. max = i;
  50. }
  51. tmpObj = composers.splice(max, 1);
  52. array.push(obj(tmpObj[0].name, tmpObj[0].ranking));
  53. }
  54.  
  55. //copy back into original composers array
  56. composers = JSON.parse(JSON.stringify(array));
  57. }
  58.  
  59. function printComposers()
  60. {
  61. for(let i = 0; i < composers.length; i++)
  62. console.log(composers[i].ranking + ": " + composers[i].name);
  63. }
  64.  
  65. function calculateAverage()
  66. {
  67. let average = 0;
  68.  
  69. for(let i = 0; i < composers.length; i++)
  70. average += composers[i].ranking;
  71.  
  72. return average / composers.length;
  73. }
  74.  
  75. document.addEventListener("DOMContentLoaded", init, false);
Add Comment
Please, Sign In to add comment