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.


Solution 1:

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

Solution 2:

.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);