我目前有以下内容,想知道是否有更简洁的方法,因为我不喜欢包含该标志。
const countries = [...];
const religionFilter = [ "religA", "religB" ];
const religionFilteredCountries = [];
_.forEach(countries,
c => {
let flag = false;
_.forEach(c.info, i => {
if (_.includes(religionFilter, i.religions)) {
flag = true;
}
});
if (flag) {
religionFilteredCountries.push(c);
}
}
);
这是jsfiddle。
以下是更新后的jsfiddle。
答案 0 :(得分:2)
由于您已经在使用lodash,因此可以像这样写religionFilteredCountries
:
const religionFilteredCountries =
countries.filter((c) => _.intersection(religionFilter, c.religions).length > 0);