Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. document.getElementById("submit").onclick =
  2. function(){
  3. let result = '';
  4. let input= document.getElementById("left").value;
  5. let check = input.split(',');
  6. if(check.length !== 2){
  7. result = " Wrong Input, Input can and must be two digits"
  8. }
  9. //return;
  10.  
  11.  
  12. let weigh = document.getElementById("weights-array").value;
  13. let checkWeight= weigh.split(',');
  14. if(checkWeight.length < 2){
  15. result = " Wrong Input, Input must be greater than two digits"
  16. }
  17. let arr = [check, checkWeight];
  18. return;
  19.  
  20.  
  21. function balanceScale(arr){
  22.  
  23. //Firstly, we need to convert our strings to numbers we can use in the Array
  24.  
  25. let scaleWeights = arr[0].match(/d+/g).map(Number);
  26.  
  27. let weights = arr[1].match(/d+/g).map(Number);
  28.  
  29. let leftSide = scaleWeights[0];
  30.  
  31. let rightSide = scaleWeights[1];
  32.  
  33. // Secondly, we check for adding weight to one side of the scale i.e leftside or rightside
  34. for(let i = 0; i < weights.length; i++){
  35. if(leftSide < rightSide){
  36. if(leftSide + weights[i] === rightSide){
  37. result = weights[i];
  38. return result;
  39.  
  40. }else if(rightSide + weights[i] === leftSide){
  41. result = weights[i];
  42. return result;
  43.  
  44. }
  45. }
  46. }
  47.  
  48. //Thirdly, we check for adding weights to both sidess of the scale ie. leftside && rightside
  49. let i,j;
  50. for(i = 0; i < weights.length; i++){
  51. for(j =0; j < weights.length[i]; j++){
  52. if(leftSide + weights[i] === rightSide + weights[j]){
  53. result = weights[i] + ' ' + weights[j];
  54. return result;
  55. }else if(rightSide + weights[i] === leftSide + weights[j]){
  56. result = weights[i] + ' ' + weights[j];
  57. return result;
  58. }
  59. }
  60. }
  61.  
  62. //Lastly we check to add (2) two weights to one side of the scale
  63. if( leftSide + weights[i] + weights[j] === rightSide){
  64. result = weights[i] + ' ' + weights[j];
  65. return result;
  66.  
  67. }else if (rightSide + weights[i] + weights[j] === leftSide){
  68. result = weights[i] + ' ' + weights[j];
  69. return result;
  70.  
  71. }
  72. // if there are no matching weights
  73. result = "Scale Imbalanced";
  74. return result;
  75. }
  76. document.getElementById("displayresult").innerHTML = result;
  77.  
  78. }
  79. console.log(balanceScale(["[3, 6]", "[1, 2, 7, 7]"]));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement