Underscore.js .filter() и .any()

у меня есть массив объектов event, называемых events. Каждое событиеимеет рынки, массив, содержащий объекты рынка. Внутри находится еще один массив с именем results, содержащий объекты output.

В этом вопросея попросил способ [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сохранял только результаты, равные бар. В настоящее время это просто дает мне рынки, результаты которых имеют некоторыезаданные тестовыесвойства. Я хочу вырезать те, которые этого не делают.

5
задан Community 23 May 2017 в 11:54
поделиться