let result = users.reduce(
(acc, val) => {
acc[val.id] = {
id: val.id,
first_name: val.first_name,
page_views: 0,
clicks: 0
};
return acc;
},
[]
);
result = views.reduce(
(acc, val) => {
acc[val.user_id].page_views += val.page_views;
acc[val.user_id].clicks += val.clicks;
return acc;
},
result
);
result = result.filter(x => x);