javascript - Using template literal for dynamic property in ReactJS -
my failed attempt:
temp.map((obj,i) => ({      obj[`person${++i}`] = obj.person.name }) i want produce this
[{id:324, person1:'mike'},{id:23, person2:'jane'}]  but i'm stuck on making property dynamic concatenation using template literal string.
issue code is, directly returning data using
() => ({....})
and there using obj[...] not valid key.
map return new array store result in new variable, if want modify same array better use foreach.
check snippet:
let arr = [{id: 10, name: 'a'}, {id: 20, name: 'b'}];    let newarr = arr.map((el,i) => ({      id: el.id,      [`name${i+1}`]: el.name  }));    console.log('new array', newarr);modifying same data using foreach:
let arr = [{id: 10, name: 'a'}, {id: 20, name: 'b'}];    arr.foreach((el,i) => {     el[`person${i+1}`] = el.name;  })    console.log('modified array', arr);
Comments
Post a Comment