Reduce unnecessary repetition of loops
Reduce unnecessary repetition of loops

No need to loop through to `filter` then `reduce`.  SInce filter can be implemented with a reduce we can reduce the need to loop through `expr.split(".")`'s output twice.

`Object.keys(obj)` is actually a `O(n)` operation.  Lets do this once and save the output.
We can also eliminate the need to map (`O(n)`) this before passing the result to Math.max which is a `O(n)` operation as well. If we just perform the operation in one `reduce` statement.

Nothing imperative here, just low hanging fruit.
ConsenSys/truffle