Nick
Nick

Reputation: 771

convert array to array of objects using JS

I need a help, how to convert an array to array of objects.

Eg: may be this is the array

let a = ["abc", "mno"]

I want it to be like this:

let b = [
  {
    "text": "abc"
  },
  {
    "text": "mno"
  }
]

please help me to fix this. Thanks.

Upvotes: 0

Views: 269

Answers (3)

Tushar Shahi
Tushar Shahi

Reputation: 20441

.map() with arrow notation should do it:

.map() -> loops over an array and returns a transformed array. With arrow functions you need not right return statement if you skip the curly braces along. Enclose them in parentheses (()) whenever you want to return an object.

let a = ["abc", "mno"];
let b = a.map(item => ({"text" : item}));
console.log(b);

Upvotes: 1

ucup
ucup

Reputation: 685

const a = [ "abc", "mno" ];
const b = a.map( ( item ) => { return {text:item} } );

console.log('a => ', a)
console.log('b => ', b)

explanation :

array.map is looping to every element of the array and if you provide return it will create new array from the return of every element

in this case the return is an object of { text:item } by item being the element of which index on the loop

Upvotes: 2

The KNVB
The KNVB

Reputation: 3844

You can make use of array.forEach and array.push function to do so.

Upvotes: 0

Related Questions