Advertisement
Guest User

Problem051

a guest
Jan 14th, 2016
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. var test = '1+2';
  2. var numbersArr = test.split(/[+,\-,*,\/]+/);
  3. var signsArr = test.split(/[0-9]*/);
  4. signsArr = signsArr.filter(function(e){return e});
  5.  
  6. for(var i = 0; i < signsArr.length; i++){
  7.  
  8. //check the 1st number
  9. if(i === 0 && ((signsArr[i] === '*') || (signsArr[i] === '/'))){
  10.  
  11. if(signsArr[i] === '*'){
  12. numbersArr[i] = numbersArr[i] * numbersArr[i + 1];
  13. }
  14. if(signsArr[i] === '/') {
  15. numbersArr[i] = numbersArr[i] / numbersArr[i + 1];
  16. }
  17.  
  18. numbersArr.splice(i + 1, 1);
  19. signsArr.splice(i, 1);
  20. }
  21.  
  22. //check the mid numbers
  23.  
  24. if((i > 0 && i < signsArr.length - 1) && (signsArr[i] === '/')){
  25. numbersArr[i] = numbersArr[i] / numbersArr[i + 1];
  26. numbersArr.splice( i + 1, 1 );
  27. signsArr.splice(i, 1);
  28. }
  29.  
  30. if((i > 0 && i < signsArr.length - 1) && (signsArr[i] === '*')){
  31. numbersArr[i] = numbersArr[i] * numbersArr[i + 1];
  32. numbersArr.splice( i + 1, 1 );
  33. signsArr.splice(i, 1);
  34. }
  35.  
  36.  
  37. //check the last number
  38. if((i === signsArr.length - 1) && (signsArr[i] === '*' || signsArr[i] === '/')){
  39. if(signsArr[i] === '/'){
  40. numbersArr[numbersArr.length - 2] = numbersArr[numbersArr.length - 2] / numbersArr[numbersArr.length - 1];
  41. }
  42. if(signsArr[i] === '*'){
  43. numbersArr[numbersArr.length - 2] = numbersArr[numbersArr.length - 2] * numbersArr[numbersArr.length - 1];
  44. }
  45.  
  46. numbersArr.splice(numbersArr.length - 1, 1);
  47. signsArr.splice(signsArr.length - 1, 1);
  48. }
  49.  
  50.  
  51. }
  52.  
  53.  
  54. var number = Number(numbersArr[0]);
  55.  
  56. for(var i = 0; i < signsArr.length; i++){
  57.  
  58. if(signsArr[i] === '-'){
  59. number -= Number(numbersArr[i + 1]);
  60. }
  61. if(signsArr[i] === '+'){
  62. number += Number(numbersArr[i + 1]);
  63. }
  64.  
  65.  
  66. }
  67.  
  68.  
  69. console.log(test);
  70. console.log(signsArr);
  71. console.log(numbersArr);
  72. console.log(number);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement