Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var obj1, obj2, obj3, obj4, obj5, obj6, obj7;
- var composers;
- function init()
- {
- obj1 = obj("Bach", 1);
- obj2 = obj("Beethoven", 2);
- obj3 = obj("Mozart", 3);
- obj4 = obj("Vivaldi", 4);
- obj5 = obj("Wagner", 5);
- obj6 = obj("Verdi", 6);
- obj7 = obj("Straus", 7);
- composers = [obj6, obj4, obj2, obj7, obj5, obj3, obj1];
- //unsorted
- printComposers();
- //sorted
- sortComposers();
- printComposers();
- //average
- console.log(calculateAverage());
- }
- function obj(names, rankings)
- {
- return {
- name: names,
- ranking: rankings
- };
- }
- function sortComposers()
- {
- let max; //used as index for sorting
- let tmpObj; //temporary object
- let array = []; //temproary array
- //find largest ranking and push it to the end of a temporary array
- while(composers.length > 0)
- {
- max = 0;
- for(let i = 0; i < composers.length; i++)
- {
- if(composers[max].ranking > composers[i].ranking)
- max = i;
- }
- tmpObj = composers.splice(max, 1);
- array.push(obj(tmpObj[0].name, tmpObj[0].ranking));
- }
- //copy back into original composers array
- composers = JSON.parse(JSON.stringify(array));
- }
- function printComposers()
- {
- for(let i = 0; i < composers.length; i++)
- console.log(composers[i].ranking + ": " + composers[i].name);
- }
- function calculateAverage()
- {
- let average = 0;
- for(let i = 0; i < composers.length; i++)
- average += composers[i].ranking;
- return average / composers.length;
- }
- document.addEventListener("DOMContentLoaded", init, false);
Add Comment
Please, Sign In to add comment