Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const usersObj = {};
  2. const kvusersObj = {};
  3.  
  4. input.forEach(place => {
  5.   place.reviews.forEach(review => {
  6.     if (review.language === 'cs' &&
  7.          review.userProfile.contributionCounts.sumReview >= 2) {
  8.       const userdata = {
  9.         username: review.userProfile.username,
  10.         url: `https://www.tripadvisor.ru/${review.userProfile.route.url}`,
  11.         citypage: `https://www.tripadvisor.ru/members-citypage/${review.userProfile.username}/g274697`,
  12.         reviews: review.userProfile.contributionCounts.sumReview,
  13.         location: review.userProfile.hometown &&
  14.           review.userProfile.hometown.location &&
  15.           review.userProfile.hometown.location.name || '',
  16.       };
  17.       usersObj[userdata.username] = userdata;
  18.       if (review.userProfile.hometown &&
  19.           review.userProfile.hometown.location &&
  20.           review.userProfile.hometown.location.additionalNames.long === 'Karlovy Vary, Czech Republic') {
  21.         kvusersObj[userdata.username] = userdata;
  22.       }
  23.     }
  24.   });
  25. });
  26.  
  27. const users = Object.keys(usersObj).map(key => usersObj[key]);
  28. const kvusers = Object.keys(kvusersObj).map(key => kvusersObj[key]);
  29.  
  30. const csvAllUsers = users.map(user => {
  31.   return [user.username, user.location, user.reviews, user.url, user.citypage].join(',');
  32. });
  33. const csvKVUsers = kvusers.map(user => {
  34.   return [user.username, user.location, user.reviews, user.url, user.citypage].join(',');
  35. });
  36.  
  37. const result = [
  38.   'ALL USERS,,,,',
  39.   'login,location,reviews,url,citypage',
  40.   ...csvAllUsers,
  41.   ',,,,',
  42.   ',,,,',
  43.   'KARLOVY VARY USERS,,,,',
  44.   ...csvKVUsers,
  45. ];
  46. result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement