Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- const _ = require('lodash');
- function uniqObjs( arr ) {
- const uniques = [];
- return _.filter( arr, ( obj ) => {
- if( _.isUndefined( _.findWhere( uniques, obj ))){
- uniques.push( obj );
- return true;
- }
- return false;
- });
- }
- _.mixin({ 'uniqObjs': uniqObjs });
- var stuff = [
- { application: 'jenkins', version: 6 },
- { application: 'nginx', version: 1 },
- { application: 'chef', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 5 },
- { application: 'nagios', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 4 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'tripwire', version: 1 },
- { application: 'chef', version: 2 },
- { application: 'nagios', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 6 },
- { application: 'nagios', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'tripwire', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'chef', version: 3 },
- { application: 'tripwire', version: 2 },
- { application: 'jenkins', version: 5 },
- { application: 'nginx', version: 2 },
- { application: 'nagios', version: 2 },
- { application: 'nginx', version: 2 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 4 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'chef', version: 2 },
- { application: 'nagios', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 4 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 5 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 4 },
- { application: 'chef', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 5 },
- { application: 'jenkins', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 4 },
- { application: 'nagios', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'nagios', version: 3 },
- { application: 'chef', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 2 },
- { application: 'jenkins', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 2 },
- { application: 'nagios', version: 1 },
- { application: 'nginx', version: 3 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'nagios', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'chef', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'jenkins', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'nagios', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 4 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'nagios', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 4 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'chef', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'tripwire', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'jenkins', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'nagios', version: 2 },
- { application: 'nginx', version: 5 },
- { application: 'nginx', version: 4 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 5 },
- { application: 'nginx', version: 4 },
- { application: 'nginx', version: 3 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 5 },
- { application: 'apache', version: 4 },
- { application: 'nagios', version: 1 },
- { application: 'jenkins', version: 2 },
- { application: 'chef', version: 2 },
- { application: 'nginx', version: 4 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'nginx', version: 5 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'nagios', version: 2 },
- { application: 'chef', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'apache', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'jenkins', version: 2 },
- { application: 'chef', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nagios', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'apache', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'apache', version: 5 },
- { application: 'chef', version: 1 },
- { application: 'nagios', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'jenkins', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'chef', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'nagios', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'chef', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nagios', version: 2 },
- { application: 'jenkins', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'tripwire', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'chef', version: 1 },
- { application: 'nginx', version: 3 },
- { application: 'apache', version: 4 },
- { application: 'nginx', version: 5 },
- { application: 'tripwire', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'tripwire', version: 2 },
- { application: 'chef', version: 1 },
- { application: 'nginx', version: 3 },
- { application: 'nagios', version: 4 },
- { application: 'nginx', version: 5 },
- { application: 'nginx', version: 2 },
- { application: 'apache', version: 2 },
- { application: 'tripwire', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'nagios', version: 2 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 3 },
- { application: 'chef', version: 2 }
- ];
- console.log(
- _(stuff)
- .uniqObjs()
- .sortByAll( _.keys( stuff[0] ) )
- .value()
- );
- /**
- -> [ { application: 'apache', version: 2 },
- { application: 'apache', version: 3 },
- { application: 'apache', version: 4 },
- { application: 'apache', version: 5 },
- { application: 'chef', version: 1 },
- { application: 'chef', version: 2 },
- { application: 'chef', version: 3 },
- { application: 'jenkins', version: 1 },
- { application: 'jenkins', version: 2 },
- { application: 'jenkins', version: 5 },
- { application: 'jenkins', version: 6 },
- { application: 'nagios', version: 1 },
- { application: 'nagios', version: 2 },
- { application: 'nagios', version: 3 },
- { application: 'nagios', version: 4 },
- { application: 'nagios', version: 5 },
- { application: 'nginx', version: 1 },
- { application: 'nginx', version: 2 },
- { application: 'nginx', version: 3 },
- { application: 'nginx', version: 4 },
- { application: 'nginx', version: 5 },
- { application: 'nginx', version: 6 },
- { application: 'tripwire', version: 1 },
- { application: 'tripwire', version: 2 },
- { application: 'tripwire', version: 4 },
- { application: 'tripwire', version: 5 } ]
- */
Advertisement
Add Comment
Please, Sign In to add comment