I do not understand what you are trying to sort out and what you expect in the end. For example, a way to write code in a question, this line will throw an error:
answers[index].answerUid = element.answerUid;
because it will read answers[index] from the answers object, get undefined and try to access the answerUid field of answerUid value.
Anyway, I can cover the main cases. If you want answers be an array, this would do this:
var answers = _.map($scope.question.answers, _.partialRight(_.pick, "answerUid", "response"));
This works if $scope.question.answers is an array or Object . Calling _.partialRight(_.pick, "answerUid", "response")) equivalent to:
function (x) { return _.pick(x, ["answerUid", "response"]); }
The _.pick function selects two answerUid and response fields from this field.
If $scope.question.answers is a key / value mapping, and you want to get the appropriate mapping in answers , then this would do this:
var answers = _.mapValues($scope.question.answers, _.partialRight(_.pick, "answerUid", "response"));
All solutions here have been tested, but it is possible that I entered a typo in the transcription.