Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var inputExprArray = "1+3*3/5*8*9+7-2*2";
- var signArr = inputExprArray.split(/[(0-9),*,\/]+/);
- var numbArr = inputExprArray.split(/[+,\-]+/)
- console.log(signArr);
- console.log(numbArr);
- var newArray = numbArr.map(function multiplication(input){
- console.log(input);
- if(input.search(/[*,\/]+/) == -1){return input;}
- else{
- var multipl = input.split(/[0-9]+/);
- var numbers = input.split(/[*,\/]+/);
- multipl.pop();
- console.log(multipl);
- console.log(numbers);
- var multOfArr = numbers.reduce(function(previousValue, currentValue, currentIndex, array) {
- if (multipl[currentIndex] == "" ){
- return parseFloat(currentValue)* 1; }
- else if(multipl[currentIndex] == "*" ){return parseFloat(previousValue) * parseFloat(currentValue);}
- else{return parseFloat(previousValue) *(1/ parseFloat(currentValue));}
- });
- return multOfArr;}
- console.log(multOfArr);
- }
- );
- console.log(newArray);
- var lastArr = newArray.reduce(function(previousValue, currentValue, currentIndex, array) {
- if (signArr[currentIndex] == "" ||signArr[currentIndex] == "+" ){
- return parseFloat(previousValue)+ parseFloat(currentValue); }
- else {return parseFloat(previousValue) - parseFloat(currentValue);}
- });
- console.log(lastArr);
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement