我有一个名为
events
的event
对象数组。每个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
属性的结果。我想剔除不需要的。
.any()
回调引用了“outcome”,但参数是“outc”... - Pointy.any()
改为.all()
并使用相反的条件。换句话说,从“任何一个是…”变为“所有不是…” - Pointytest
属性,我想将其从中删除。 - user1082754