javascript - What is the JS pattern to get unique elements from nested array? -


i have following result mongodb.aggregate:

[{    _id: objectid(1),     _author: objectid(2),    comments: [       {          _author: objectid(2),          text: '...'       },       {          _author: objectid(3),          text: '...1'       },       {          _author: objectid(3),          text: '...2'       }...    ] }...] 

i need unique authors _author field elemnts (including nested):

var uniqauthors = magicfunction(result) // [objectid(2), objectid(3)] ; 

what best , compact way make pure js?

array.prototype.reduce can you:

var unique = result[0].comments.reduce(function(uniqueauthors, comment) {   if (uniqueauthors.indexof(comment._author) === -1) {      uniqueauthors.push(comment._author);   }   return uniqueauthors; }, []); //verify author document if (unique.indexof(result[0]._author) === -1) {    uniqueauthors.push(result[0]._author); } 

Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

javascript - Get parameter of GET request -

javascript - Twitter Bootstrap - how to add some more margin between tooltip popup and element -