Guest User

Untitled

a guest
Jan 22nd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.58 KB | None | 0 0
  1. # How to convert a score point to a letter grade
  2.  
  3. A function that contains a switch iteration that has to be executed everytime the function is invoked:
  4. ```javascript
  5. function convertScoreToGrade(score) {
  6. switch (true) {
  7. case score <= 100 && score >= 90:
  8. return 'A'
  9. break;
  10. case score <= 89 && score >= 80:
  11. return 'B'
  12. break;
  13. case score <= 79 && score >= 70:
  14. return 'C'
  15. break;
  16. case score <= 69 && score >= 60:
  17. return 'D'
  18. break;
  19. case score <= 59 && score >= 0:
  20. return 'F'
  21. break;
  22. default:
  23. return 'INVALID SCORE'
  24. break;
  25. }
  26. }
  27.  
  28. convertScoreToGrade(91); // 'A'
  29. convertScoreToGrade(76); // 'C'
  30. ```
  31.  
  32. Create an object once, where the function can retreive the letter grade according to the key being passed:
  33. ```javascript
  34. let scoresArray = Array.from({ length: 101 }, (_, i) => i);
  35. let scoresObject = scoresArray.reduce((obj, score) => {
  36. switch (true) {
  37. case score <= 100 && score >= 90:
  38. obj[score] = "A";
  39. return obj;
  40. case score <= 89 && score >= 80:
  41. obj[score] = "B";
  42. return obj;
  43. case score <= 79 && score >= 70:
  44. obj[score] = "C";
  45. return obj;
  46. case score <= 69 && score >= 60:
  47. obj[score] = "D";
  48. return obj;
  49. case score <= 59 && score >= 0:
  50. obj[score] = "F";
  51. return obj;
  52. }
  53. }, {});
  54.  
  55. /*
  56. ​​​​​{ 0: 'F',​​​​​
  57. ​​​​​ 1: 'F',​​​​​
  58. ​​​​​ 2: 'F',​​​​​
  59. ​​​​​ 3: 'F',​​​​​
  60. ​​​​​ 4: 'F',​​​​​
  61. ​​​​​ 5: 'F',​​​​​
  62. ​​​​​ 6: 'F',​​​​​
  63. ​​​​​ 7: 'F',​​​​​
  64. ​​​​​ 8: 'F',​​​​​
  65. ​​​​​ 9: 'F',​​​​​
  66. ​​​​​ 10: 'F',​​​​​
  67. ​​​​​ 11: 'F',​​​​​
  68. ​​​​​ 12: 'F',​​​​​
  69. ​​​​​ 13: 'F',​​​​​
  70. ​​​​​ 14: 'F',​​​​​
  71. ​​​​​ 15: 'F',​​​​​
  72. ​​​​​ 16: 'F',​​​​​
  73. ​​​​​ 17: 'F',​​​​​
  74. ​​​​​ 18: 'F',​​​​​
  75. ​​​​​ 19: 'F',​​​​​
  76. ​​​​​ 20: 'F',​​​​​
  77. ​​​​​ 21: 'F',​​​​​
  78. ​​​​​ 22: 'F',​​​​​
  79. ​​​​​ 23: 'F',​​​​​
  80. ​​​​​ 24: 'F',​​​​​
  81. ​​​​​ 25: 'F',​​​​​
  82. ​​​​​ 26: 'F',​​​​​
  83. ​​​​​ 27: 'F',​​​​​
  84. ​​​​​ 28: 'F',​​​​​
  85. ​​​​​ 29: 'F',​​​​​
  86. ​​​​​ 30: 'F',​​​​​
  87. ​​​​​ 31: 'F',​​​​​
  88. ​​​​​ 32: 'F',​​​​​
  89. ​​​​​ 33: 'F',​​​​​
  90. ​​​​​ 34: 'F',​​​​​
  91. ​​​​​ 35: 'F',​​​​​
  92. ​​​​​ 36: 'F',​​​​​
  93. ​​​​​ 37: 'F',​​​​​
  94. ​​​​​ 38: 'F',​​​​​
  95. ​​​​​ 39: 'F',​​​​​
  96. ​​​​​ 40: 'F',​​​​​
  97. ​​​​​ 41: 'F',​​​​​
  98. ​​​​​ 42: 'F',​​​​​
  99. ​​​​​ 43: 'F',​​​​​
  100. ​​​​​ 44: 'F',​​​​​
  101. ​​​​​ 45: 'F',​​​​​
  102. ​​​​​ 46: 'F',​​​​​
  103. ​​​​​ 47: 'F',​​​​​
  104. ​​​​​ 48: 'F',​​​​​
  105. ​​​​​ 49: 'F',​​​​​
  106. ​​​​​ 50: 'F',​​​​​
  107. ​​​​​ 51: 'F',​​​​​
  108. ​​​​​ 52: 'F',​​​​​
  109. ​​​​​ 53: 'F',​​​​​
  110. ​​​​​ 54: 'F',​​​​​
  111. ​​​​​ 55: 'F',​​​​​
  112. ​​​​​ 56: 'F',​​​​​
  113. ​​​​​ 57: 'F',​​​​​
  114. ​​​​​ 58: 'F',​​​​​
  115. ​​​​​ 59: 'F',​​​​​
  116. ​​​​​ 60: 'D',​​​​​
  117. ​​​​​ 61: 'D',​​​​​
  118. ​​​​​ 62: 'D',​​​​​
  119. ​​​​​ 63: 'D',​​​​​
  120. ​​​​​ 64: 'D',​​​​​
  121. ​​​​​ 65: 'D',​​​​​
  122. ​​​​​ 66: 'D',​​​​​
  123. ​​​​​ 67: 'D',​​​​​
  124. ​​​​​ 68: 'D',​​​​​
  125. ​​​​​ 69: 'D',​​​​​
  126. ​​​​​ 70: 'C',​​​​​
  127. ​​​​​ 71: 'C',​​​​​
  128. ​​​​​ 72: 'C',​​​​​
  129. ​​​​​ 73: 'C',​​​​​
  130. ​​​​​ 74: 'C',​​​​​
  131. ​​​​​ 75: 'C',​​​​​
  132. ​​​​​ 76: 'C',​​​​​
  133. ​​​​​ 77: 'C',​​​​​
  134. ​​​​​ 78: 'C',​​​​​
  135. ​​​​​ 79: 'C',​​​​​
  136. ​​​​​ 80: 'B',​​​​​
  137. ​​​​​ 81: 'B',​​​​​
  138. ​​​​​ 82: 'B',​​​​​
  139. ​​​​​ 83: 'B',​​​​​
  140. ​​​​​ 84: 'B',​​​​​
  141. ​​​​​ 85: 'B',​​​​​
  142. ​​​​​ 86: 'B',​​​​​
  143. ​​​​​ 87: 'B',​​​​​
  144. ​​​​​ 88: 'B',​​​​​
  145. ​​​​​ 89: 'B',​​​​​
  146. ​​​​​ 90: 'A',​​​​​
  147. ​​​​​ 91: 'A',​​​​​
  148. ​​​​​ 92: 'A',​​​​​
  149. ​​​​​ 93: 'A',​​​​​
  150. ​​​​​ 94: 'A',​​​​​
  151. ​​​​​ 95: 'A',​​​​​
  152. ​​​​​ 96: 'A',​​​​​
  153. ​​​​​ 97: 'A',​​​​​
  154. ​​​​​ 98: 'A',​​​​​
  155. ​​​​​ 99: 'A',​​​​​
  156. ​​​​​ 100: 'A' }​​​​​
  157. */
  158.  
  159. function convertScoreToGrade(score) {
  160. return !scoresObject[score] ? "INVALID SCORE" : scoresObject[score];
  161. }
  162.  
  163. convertScoreToGrade(99); // 'A'
  164. convertScoreToGrade(81); // 'B'
  165. convertScoreToGrade(-2); // 'INVALID SCORE'
  166. ```
Add Comment
Please, Sign In to add comment