Skip to content

Instantly share code, notes, and snippets.

@spencewood
Created January 10, 2014 07:19
Show Gist options
  • Save spencewood/8348127 to your computer and use it in GitHub Desktop.
Save spencewood/8348127 to your computer and use it in GitHub Desktop.
Underscore nested pluck mixin. Takes an array as the first argument and any number of keys as additional arguments. E.g.: _.nestedPluck(arr, 'person', 'name', 'first');
_.mixin({
nestedPluck: function nestedPluck(arr) {
var plucks = _.rest(arguments);
if (plucks.length > 0) {
var a = _.flatten(_.pluck(arr, plucks.shift()), true);
return nestedPluck.apply(null, [a].concat(plucks));
}
return arr;
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment