Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. /**
  2. * Sorts an array of object by ranking
  3. * @param {array} objects The array containing objects to sort by ranking
  4. */
  5. function orderByRanking(objects) {
  6. return objects.sort((a, b) => a.ranking - b.ranking);
  7. }
  8.  
  9. /**
  10. * Calculates the average ranking of objects
  11. * @param {array} objects The array containing objects whose average ranking is to be calculated
  12. */
  13. function calculateAverageRanking(objects) {
  14. const totalRanking = objects.reduce(
  15. (total, currentObject) => (total + currentObject.ranking),
  16. 0,
  17. );
  18. const averageRanking = totalRanking / objects.length;
  19. return averageRanking;
  20. }
  21.  
  22. /**
  23. * Generates an array of random objects
  24. * Its added here just to test the first two functions
  25. * @param {number} number The number of random objects to generate
  26. */
  27. function generateRandomObjects(number = 10) {
  28. const objects = [];
  29. for (let i = 0; i < number; i++) {
  30. objects.push({
  31. name: `object-${i}`,
  32. ranking: 10 + Math.ceil(Math.random() * 10),
  33. });
  34. }
  35. return objects;
  36. }
  37.  
  38. const objects = generateRandomObjects();
  39. console.log('Objects: ', objects);
  40. const sortedObjects = orderByRanking(objects);
  41. console.log('Objects sorted by ranking: ', sortedObjects);
  42. const averageRanking = calculateAverageRanking(objects);
  43. console.log('Objects sorted by ranking: ', averageRanking);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement