I have this structure:
materials= ["a","b","c"]
and I need it to be like this:
data= [{material:"a"},{material:"b"},{material:"c"}]
asked Feb 6, 2020 at 12:32
Daggle
1711 gold badge1 silver badge11 bronze badges
6 Answers 6
You can use map:
materials.map(a=> ({material: a}))
An example:
let materials= ["a","b","c"];
const result = materials.map(a=> ({material: a}))
console.log(result)
or even shorter (thanks to Ele):
materials.map(material => ({material}));
let materials= ["a","b","c"];
const result = materials.map(material => ({material}));
console.log(result)
answered Feb 6, 2020 at 12:34
StepUp
38.5k16 gold badges95 silver badges159 bronze badges
Sign up to request clarification or add additional context in comments.
You could use map method.
var materials= ["a","b","c"]
console.log(materials.map(material => ({material})));
answered Feb 6, 2020 at 12:34
Mihai Alexandru-Ionut
48.6k14 gold badges106 silver badges132 bronze badges
Comments
You can use Array.forEach():
var materials= ["a","b","c"]
var res = [];
materials.forEach((a) => res.push({material: a}));
console.log(res);
answered Feb 6, 2020 at 12:33
Ankit Agarwal
30.8k5 gold badges41 silver badges63 bronze badges
Comments
const obj = materials.map((material)=>{
return ({"material": material})
});
console.log(obj);
answered Feb 6, 2020 at 12:34
PrakashT
9311 gold badge8 silver badges19 bronze badges
Comments
I would use Array.map:
const test = ["a", "b", "c"];
const result = test.map(e => {
return { material: e };
});
console.log(test);
console.log(result);
answered Feb 6, 2020 at 12:37
KieranLewin
2,3902 gold badges10 silver badges13 bronze badges
Comments
let materials= ["a","b","c"]
let newObj = materials.map(material => ({material}));
console.log(newObj);
Comments
lang-js
materials.map(material => ({material}))