You can use a function like this using the https://github.com/peterolson/BigRational.js library:
function rationalize(rational, epsilon) {
var denominator = 0;
var numerator;
var error;
do {
denominator++;
numerator = Math.round((rational.numerator * denominator) / rational.denominator);
error = Math.abs(rational.minus(numerator / denominator));
} while (error > epsilon);
return bigRat(numerator, denominator);
}
It will return a bigRat object. You can check your example with this:
console.log(rationalize(bigRat(3.33333000540733337),0.01));