iLemming
iLemming

Reputation: 36214

Elegant way to add property to each element in an array

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'},
]

Upvotes: 5

Views: 5802

Answers (2)

Pavlo
Pavlo

Reputation: 44947

In 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 }));

Upvotes: 14

Nick Manning
Nick Manning

Reputation: 2989

<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>

Upvotes: -7

Related Questions