JSFiddle - React, Tailwind, and code Playground

by rafalry

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/mathjs/0.21.0/math.js" type="text/javascript"></script>

JavaScript

var math = mathjs();

var node = math.parse("2 + cos(180)");
DFS(node);
var code = node.compile(math);
var result = code.eval(); 

console.log('node', node.toString());
console.log('code', code);
console.log('result', result);

function DFS (node) {
  if (node.object && node.object.name === "sin") {
    var oldParam = node.params[0];
    var newParam = mathjs().parse("0 deg");
    newParam.expr.value = oldParam;
 
    node.params[0] = newParam.expr;
 
    DFS(node.params[0]);
  } else if (node.fn) {
    node.params.forEach(DFS);
  }
}