我目前有以下内容,并想知道是否有更简洁的方法,因为我不喜欢包含标志。
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。
由于你已经在使用lodash,你可以像这样编写religionFilteredCountries
:
const religionFilteredCountries =
countries.filter((c) => _.intersection(religionFilter, c.religions).length > 0);