No need for Underscore, you can do it with the built-in JS.
var events = [{markets:[{outcomes:[{test:x},...]},...]},...]; return events.filter(function(event) { return event.markets.some(function(market) { return market.outcomes.some(function(outcome) { return "test" in outcome; }); }); });
However, you can also use the appropriate underscore methods ( filter / select and any / some ).
Bergi
source share