0

How to perform spread opration on salesuser array object. need to add ..salesuserstargetAmount:500, in that object

  {        
    "station": [
        {
            "stationname":"chennai",
            "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester", 
                },         
         ]
        },
    {
            "stationname":"chennai22222",
           "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester222222", 
                },         
         ]
        }
    ]
 }

Tried with

let  salesusertargetamt = "100"

 this.setState({
   salesusers: this.state.station.map((items) => {
   items.salesusers.map(el => (el.salesusersname !== "" ? { ...el, salesusertargetamt } : el))
  });
  • Be aware `map` returns the same number of items as the original array. – evolutionxbox Feb 07 '22 at 08:12
  • 1
    Does this answer your question? [Curly Brackets in Arrow Functions](https://stackoverflow.com/questions/35440265/curly-brackets-in-arrow-functions) – Ivar Feb 07 '22 at 08:29

2 Answers2

0
let  salesusertargetamt = "100"

 this.setState({
   salesusers: this.state.station.map((items) => {
    return items.salesusers.map(el => (el.salesusersname !== "" ? { ...el, stationtargetAmount: salesusertargetamt } : el))
  });
ldruskis
  • 779
  • 7
  • 20
0

Curly braces ({) are tricky here because they both mean block of code and JavaScript object so you need to wrap them with ():

let  salesusertargetamt = "100";

 let obj = {        
    "station": [
        {
            "stationname":"chennai",
            "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester", 
                },         
         ]
        },
    {
            "stationname":"chennai22222",
           "stationtargetAmount":500,
            "salesusers":[
                {
                " salesusersname":"tester222222", 
                },         
         ]
        }
    ]
 };
 
 let result = obj.station.map(items => ({
    ...items,
    salesusers: items.salesusers.map(user => (user.salesusersname !== "" ? {...user, salesusertargetamt} : user ))
 }))
 

 console.log(result);
mickl
  • 48,568
  • 9
  • 60
  • 89