Sign up ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free.

I have an array ($scope.paxlist) looking like this:

[
   {"name":"Maria","chosen":false},
   {"name":"Jenny","chosen":false},
   {"name":"Ben","chosen":false},
   {"name":"Morris","chosen":false}
]

I need to take only the values from name and convert them into a string in order to be able to use ng-CSV properly. The desired output would be something like this:

$scope.var = "Maria, Jenny, Ben, Morris"

Taking into consideration that I have Angular and Lodash already loaded, could anybody point out if they have already some tool to do this painlessly?

share|improve this question

3 Answers 3

up vote 8 down vote accepted

Using native map of javascript you can do it as bellow

var data = [
   {"name":"Maria","chosen":false},
   {"name":"Jenny","chosen":false},
   {"name":"Ben","chosen":false},
   {"name":"Morris","chosen":false}
];

data.map(function(obj){return obj.name;}).join(', '); // returns the expected output.

Using Lodash

_.pluck(data,'name').join(', ')
share|improve this answer

Lodash offers _.pluck to extract a property from a list of objects:

$scope.var = _.pluck($scope.paxlist, 'name').join(', ');
share|improve this answer

You can use _.map or _.pluck, like this

$scope.var = _.map($scope.paxlist, 'name').join(', ');

or

$scope.var = _.pluck($scope.paxlist, 'name').join(', ');
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.