Array to string with AngularJS and Lodash
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?
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
_.map(data,'name').join(', ')
Lodash offers _.pluck
to extract a property from a list of objects:
$scope.var = _.pluck($scope.paxlist, 'name').join(', ');
By using Mrityunjay’s answer, this is another version of the answer to convert array of string to string:
const _ = require('lodash');
const data = ['abc','xyz','123'];
const translated = _.map(data).join(', ');
console.log(`result: ${translated}`);
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .