我有一个event
名为events
. 每个event
都有,一个包含对象markets
的数组。market
里面还有另一个名为 的数组outcomes
,包含outcome
对象。
在这个问题中,我要求使用 [Underscore.js] 方法来查找所有具有市场的事件,这些事件的结果具有名为test
. 答案是:
// filter where condition is true
_.filter(events, function(evt) {
// return true where condition is true for any market
return _.any(evt.markets, function(mkt) {
// return true where any outcome has a "test" property defined
return _.any(mkt.outcomes, function(outc) {
return outc.test !== "undefined" && outc.test !== "bar";
});
});
});
这很好用,但我想知道如果我想过滤每个市场的结果,我将如何改变它,以便market.outcomes
只存储等于bar
. 目前,这只是给我提供了具有某些固定test
属性的结果的市场。我想去掉那些没有的。