Advertisement
Guest User

Untitled

a guest
May 26th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. var salesTeam =
  2. [{name: {first: 'Aleen', last: 'Atkins'}, age: 26, sales: '$2314'},
  3. {name: {first: 'Alvaro', last: 'Angelos'}, age: 55, sales: '$1668'},
  4. {name: {first: 'Denese', last: 'Dossett'}, age: 29, sales: '$9248'},
  5. {name: {first: 'Douglas', last: 'Denney'}, age: 53, sales: '$5058'},
  6. {name: {first: 'Earline', last: 'Erickson'}, age: 19, sales: '$18876'},
  7. {name: {first: 'Herman', last: 'Hazell'}, age: 25, sales: '$2746'},
  8. {name: {first: 'Homer', last: 'Hirth'}, age: 26, sales: '$474'},
  9. {name: {first: 'Hwa', last: 'Heidt'}, age: 53, sales: '$9607'},
  10. {name: {first: 'Hyon', last: 'Hampshire'}, age: 46, sales: '$13598'},
  11. {name: {first: 'Issac', last: 'Ingerson'}, age: 45, sales: '$5225'},
  12. {name: {first: 'Jeraldine', last: 'Joplin'}, age: 39, sales: '$2891'},
  13. {name: {first: 'Jin', last: 'Jeffrey'}, age: 17, sales: '$14402'},
  14. {name: {first: 'Joleen', last: 'Jolin'}, age: 45, sales: '$15736'},
  15. {name: {first: 'Jude', last: 'Jarrett'}, age: 53, sales: '$7557'},
  16. {name: {first: 'Magda', last: 'Mireles'}, age: 18, sales: '$1498'},
  17. {name: {first: 'Mistie', last: 'Montealegre'}, age: 31, sales: '$6920'},
  18. {name: {first: 'Nancy', last: 'Napoli'}, age: 49, sales: '$5255'},
  19. {name: {first: 'Regine', last: 'Rohrbaugh'}, age: 33, sales: '$7881'},
  20. {name: {first: 'Rolando', last: 'Riebel'}, age: 35, sales: '$8573'},
  21. {name: {first: 'Scarlett', last: 'Stagg'}, age: 36, sales: '$7126'},
  22. {name: {first: 'Sherron', last: 'Strawn'}, age: 36, sales: '$8848'},
  23. {name: {first: 'Susan', last: 'Shilling'}, age: 29, sales: '$8542'},
  24. {name: {first: 'Tama', last: 'Tworek'}, age: 16, sales: '$9200'},
  25. {name: {first: 'Tonisha', last: 'Taunton'}, age: 41, sales: '$5219'},
  26. {name: {first: 'Vergie', last: 'Villescas'}, age: 25, sales: '$8712'}];
  27.  
  28. /* input: salesTeam Array
  29. output: array of teenager names
  30. No teens? empty array
  31. no first and last name? X
  32.  
  33. Loop through input
  34. if person is a teen
  35. push it to output array
  36. */
  37.  
  38. function isTeenager(salesTeam) {
  39. var teenagers = [];
  40. for(var i = 0; i < salesTeam.length; i++) {
  41. if(13 <= salesTeam[i].age && salesTeam[i].age < 20) {
  42. teenagers.push(salesTeam[i].name.first + " " + salesTeam[i].name.last);
  43. }
  44. }
  45. return teenagers;
  46. }
  47.  
  48. function assertObjectsEqual(actual, expected, testName) {
  49. if (JSON.stringify(actual) === JSON.stringify(expected)) {
  50. console.log('Test passed');
  51. } else {
  52. console.log('Test ['+testName+'] failed: expected ', expected, ' but got, ', actual );
  53. }
  54. }
  55.  
  56. assertObjectsEqual(isTeenager(salesTeam), ["Earline Erickson", "Jin Jeffrey", "Magda Mireles", "Tama Tworek"], "Should return a list of all teenagers on the Sales Team");
  57.  
  58. /*
  59. input: salesTeam array of person objects
  60. output : string
  61. If tie: return first person that appeared
  62. start with empty string
  63.  
  64. Initialise with first student object
  65. loop through everyone replacing when student is older then current
  66. */
  67.  
  68.  
  69. assertObjectsEqual(oldest(salesTeam), "The oldest student is Alvaro Angelos");
  70.  
  71. function oldest(salesTeam) {
  72. var oldestStudent = salesTeam[0];
  73. for(var i=0; i < salesTeam.length; i++) {
  74. if(salesTeam[i].age > oldestStudent.age) {
  75. oldestStudent = salesTeam[i];
  76. }
  77. }
  78. return "The oldest student is " + oldestStudent.name.first + " " + oldestStudent.name.last;
  79. }
  80.  
  81. /*
  82. tenThousandClub
  83. input: Array of member objects
  84. output: array of name strings
  85. nobody part of the club? empty []
  86.  
  87. start with empty array
  88. loop through salesTeam members
  89. push if sales > $10 000
  90. parseInt(sales.slice(1, sales.length)); Turns sales string into number
  91. */
  92.  
  93. assertObjectsEqual(tenThousandClub(salesTeam), ["Earline Erickson", "Hyon Hampshire", "Jin Jeffrey", "Joleen Jolin"]);
  94.  
  95. function tenThousandClub(salesTeam) {
  96. var members = [];
  97. for(var i = 0; i < salesTeam.length; i++) {
  98. var sales = salesTeam[i].sales;
  99. sales = parseInt(sales.slice(1, sales.length));
  100. if(sales >= 10000) {
  101. members.push(salesTeam[i].name.first + " " + salesTeam[i].name.last);
  102. }
  103. }
  104. return members;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement