Javascript 如何在一个字符串中使用lodash过滤器和贴图
我有代码,其中使用2洛达斯方法过滤器和地图Javascript 如何在一个字符串中使用lodash过滤器和贴图,javascript,arrays,object,ecmascript-6,lodash,Javascript,Arrays,Object,Ecmascript 6,Lodash,我有代码,其中使用2洛达斯方法过滤器和地图 const filtered_holidays = filter(holidays, day => day.holiday === 1); const type_calendar_holidays = map(filtered_holidays, 'day'); 如何在lodash中用1个字符串重写此内容?像这样的东西 holidays.filter().map().... const filtered_holidays = filte
const filtered_holidays = filter(holidays, day => day.holiday === 1);
const type_calendar_holidays = map(filtered_holidays, 'day');
如何在lodash中用1个字符串重写此内容?像这样的东西
holidays.filter().map()....
const filtered_holidays = filter(holidays, day => day.holiday === 1);
const type_calendar_holidays = map(filtered_holidays, 'day');
把过滤器放进去
const type_calendar_holidays = map(filter(holidays, day => day.holiday === 1), 'day');
您可以使用贴图包裹过滤器:
const result = map(filter(holidays, day => day.holiday === 1),'day');
您可以使用(需要导入整个lodash软件包CGE):
您可以使用(或组合):
注意:flow和flowRight在常规lodash中也可用,但由于参数的顺序是向后的,并且函数不是自动转换的,因此需要使用
这种情况下最简单的解决方案是使用vanilla js链接:
const result= holidays.filter(day => day.holiday === 1).map(o => o.day);
在vanilla JS中,您可以这样使用:
holidays.reduce((r, { day, holiday }) => holiday === 1 ? r.concat(day) : r, [])
只需嵌套
过滤器
:
const type_calendar_holidays = map(filter(holidays, ({ holiday }) => holiday == 1), 'day');
我不会将lodash用于如此简单的东西,原生映射()和过滤器()都很好。在JS中,当您链接某个对象时,其结果将传递到下一个操作。const filteredHolidays=holidays.filter(day=>day.holiday==1.map(holiday=>holiday.day)
const result= holidays.filter(day => day.holiday === 1).map(o => o.day);
holidays.reduce((r, { day, holiday }) => holiday === 1 ? r.concat(day) : r, [])
const type_calendar_holidays = map(filter(holidays, ({ holiday }) => holiday == 1), 'day');