How can I using lodash, with minimum code transform an array like this:
['Alfa','Betta','Gamma','Delta']
into:
[
{ squad: 'Alfa'},
{ squad: 'Betta'},
{ squad: 'Gamma'},
{ squad: 'Delta'},
]
How can I using lodash, with minimum code transform an array like this:
['Alfa','Betta','Gamma','Delta']
into:
[
{ squad: 'Alfa'},
{ squad: 'Betta'},
{ squad: 'Gamma'},
{ squad: 'Delta'},
]
Share
Improve this question
asked Jan 23, 2014 at 21:06
iLemmingiLemming
36.3k61 gold badges198 silver badges316 bronze badges
4
-
6
How about without a library ->
['Alfa','Betta','Gamma','Delta'].map(function(el) { return {squad: el}; });
-> jsfiddle/TD4TM – adeneo Commented Jan 23, 2014 at 21:09 - @adeneo you should add this as an answer. – Pavlo Commented Jan 23, 2014 at 21:21
- 1 @Pavlo - Well, I didn't post it as answer as it doesn't really answer the question, which was how to do this with lodash, but it just seemed so easy in plain javascript. You don't need a library for everything (actually, you don't really need a library for anything). – adeneo Commented Jan 23, 2014 at 21:24
- 3 Nonsense about not needing libraries, not only in general, but in this particular case: what if he needs to support browsers that don't provide array.map? – Dexygen Commented Jan 23, 2014 at 21:38
2 Answers
Reset to default 14In Lo-Dash (or Underscore):
_.map(['Alpha', 'Beta', 'Gamma', 'Delta'], function (squad) {
return { squad: squad };
});
In ES5:
['Alpha', 'Beta', 'Gamma', 'Delta'].map(function (squad) {
return { squad: squad };
});
In ES2015:
['Alpha', 'Beta', 'Gamma', 'Delta'].map(squad => ({ squad }));
<script>
var arrayOfSquads=['Alfa','Betta','Gamma','Delta'];
var arrayOfThingsThatHaveSquads=new Array();
for(i=0;i<arrayOfSquads.length;i++)
{
arrayOfThingsThatHaveSquads.push({"squad":arrayOfSquads[i]});
}
console.log("What's lodash?");
</script>