So, sparse arrays are deep equal with underscore:
_.isEqual([,], [undefined]) // true
deepEqual([,], [undefined]) // false
This is because sparse arrays have a different set of reported keys with Object.keys. Any idea which one should be right?
I have no idea. This module is just a verbatim copy of the deepEqual implementation from the node assert core library. Any bugs are features at this point.