Advertisement
Guest User

Untitled

a guest
May 24th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. // Result
  2. /*
  3. [
  4. { tag: 'bicycle', user: [ 'Tom', 'Bill', 'Sue' ], count: 3 },
  5. { tag: 'car', user: [ 'Sue', 'Bill' ], count: 2 },
  6. { tag: 'motorcycle', user: [ 'Sue' ], count: 1 }
  7. ]
  8. */
  9.  
  10. // ==================================================
  11. var responses = [
  12. { user: 'Sue', tag: 'car' },
  13. { user: 'Sue', tag: 'bicycle' },
  14. { user: 'Bill', tag: 'car' },
  15. { user: 'Tom', tag: 'bicycle' },
  16. { user: 'Bill', tag: 'bicycle' },
  17. { user: 'Sue', tag: 'motorcycle' },
  18. { tag: 'motorcycle', user: 'Jack' }
  19. ];
  20.  
  21. result =[];
  22.  
  23. ty = (d)=> {return d.tag == responses[i].tag;};
  24.  
  25. tr = (v,p) => {
  26. return {'tag':v.tag,'user':[p.user].concat(v.user),get count(){return this.user.length;}}
  27. }
  28.  
  29. for(var i=0;i<responses.length;i++){
  30. if(result.length == 0){
  31. result.push(responses.filter(ty).reduce(tr))
  32. }else if(result.length >0){
  33. if(result.filter(function(d){ return d.tag == responses[i].tag;}).length == 0){
  34. result.push(responses.filter(ty).reduce(tr))
  35. }
  36. }
  37. }
  38. console.log(result.sort(function(a,b){return a.count-b.count;}));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement