Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var test = '1+2';
- var numbersArr = test.split(/[+,\-,*,\/]+/);
- var signsArr = test.split(/[0-9]*/);
- signsArr = signsArr.filter(function(e){return e});
- for(var i = 0; i < signsArr.length; i++){
- //check the 1st number
- if(i === 0 && ((signsArr[i] === '*') || (signsArr[i] === '/'))){
- if(signsArr[i] === '*'){
- numbersArr[i] = numbersArr[i] * numbersArr[i + 1];
- }
- if(signsArr[i] === '/') {
- numbersArr[i] = numbersArr[i] / numbersArr[i + 1];
- }
- numbersArr.splice(i + 1, 1);
- signsArr.splice(i, 1);
- }
- //check the mid numbers
- if((i > 0 && i < signsArr.length - 1) && (signsArr[i] === '/')){
- numbersArr[i] = numbersArr[i] / numbersArr[i + 1];
- numbersArr.splice( i + 1, 1 );
- signsArr.splice(i, 1);
- }
- if((i > 0 && i < signsArr.length - 1) && (signsArr[i] === '*')){
- numbersArr[i] = numbersArr[i] * numbersArr[i + 1];
- numbersArr.splice( i + 1, 1 );
- signsArr.splice(i, 1);
- }
- //check the last number
- if((i === signsArr.length - 1) && (signsArr[i] === '*' || signsArr[i] === '/')){
- if(signsArr[i] === '/'){
- numbersArr[numbersArr.length - 2] = numbersArr[numbersArr.length - 2] / numbersArr[numbersArr.length - 1];
- }
- if(signsArr[i] === '*'){
- numbersArr[numbersArr.length - 2] = numbersArr[numbersArr.length - 2] * numbersArr[numbersArr.length - 1];
- }
- numbersArr.splice(numbersArr.length - 1, 1);
- signsArr.splice(signsArr.length - 1, 1);
- }
- }
- var number = Number(numbersArr[0]);
- for(var i = 0; i < signsArr.length; i++){
- if(signsArr[i] === '-'){
- number -= Number(numbersArr[i + 1]);
- }
- if(signsArr[i] === '+'){
- number += Number(numbersArr[i + 1]);
- }
- }
- console.log(test);
- console.log(signsArr);
- console.log(numbersArr);
- console.log(number);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement