Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Result
- /*
- [
- { tag: 'bicycle', user: [ 'Tom', 'Bill', 'Sue' ], count: 3 },
- { tag: 'car', user: [ 'Sue', 'Bill' ], count: 2 },
- { tag: 'motorcycle', user: [ 'Sue' ], count: 1 }
- ]
- */
- // ==================================================
- var responses = [
- { user: 'Sue', tag: 'car' },
- { user: 'Sue', tag: 'bicycle' },
- { user: 'Bill', tag: 'car' },
- { user: 'Tom', tag: 'bicycle' },
- { user: 'Bill', tag: 'bicycle' },
- { user: 'Sue', tag: 'motorcycle' },
- { tag: 'motorcycle', user: 'Jack' }
- ];
- result =[];
- ty = (d)=> {return d.tag == responses[i].tag;};
- tr = (v,p) => {
- return {'tag':v.tag,'user':[p.user].concat(v.user),get count(){return this.user.length;}}
- }
- for(var i=0;i<responses.length;i++){
- if(result.length == 0){
- result.push(responses.filter(ty).reduce(tr))
- }else if(result.length >0){
- if(result.filter(function(d){ return d.tag == responses[i].tag;}).length == 0){
- result.push(responses.filter(ty).reduce(tr))
- }
- }
- }
- console.log(result.sort(function(a,b){return a.count-b.count;}));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement