我正在使用lodash map和uniqby从json文件events.json创建一个对象。
我很少得到一个国家/地区以外的国家"英国"。我不会在结果中需要它们,我将如何进行映射'不属于"英国"的事件。感谢
var _ = require('lodash');
var data = require('./events.json')
var newEventList = _.uniqBy(data.events,'id').map(events => ({
id: events.id ,
name: events.name ,
venue: events.venue.name ,
address: events.place.location.street + " " + events.place.location.city + " " + events.place.location.zip + " " + events.place.location.country
}));
我查看了_.filter,但我不确定在map函数中将它用于何处。
答案 0 :(得分:2)
您可以在地图之前或之后使用过滤器。但在地图之前它会更有用。
var newEventList = _.uniqBy(data.events,'id').filter(event => event.place.location.country === 'United Kingdom').map(event => ({
id: event.id ,
name: event.name ,
venue: event.venue.name ,
address: event.place.location.street + " " + event.place.location.city + " " + event.place.location.zip + " " + event.place.location.country
}));
但问题是你为什么需要uniq?通常id是一个应该是uniq的属性